一串字符串首字母大写?

一串字符串首字母大写?

var a = 'Hi, my name\'s Han Meimei, a SOFTWARE engineer';
function titleCase(s) {
   var ss = s.toLowerCase().split(/\s+/);
   console.log(ss);
   for (var i = 0; i < ss.length; i++) {
       alert(ss[i]);
       ss[i] = ss[i].slice(0, 1).toUpperCase() + ss[i].slice(1);//slice是数组的对象方法,ss[i]只是数组的其中一个元素,应该用字符串的截取方法啊?
   }
   return ss.join(' ');//???
}
console.log(titleCase(a));

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
卡布琦诺 2018-02-27 10:12:01

slice() 方法可从已有的数组中返回选定的元素,slice()可提取字符串的某个部分,并以新的字符串返回被提取的部分,但是这里建议按照要求使用substring()方法,substring() 方法用于提取字符串中介于两个指定下标之间的字符。另,代码具有一定的灵活性,每一种效果实现的方法都不唯一,能够实现效果且代码运行正确即可。

http://img1.sycdn.imooc.com//climg/5a94bc3d0001e74215350526.jpg

http://img1.sycdn.imooc.com//climg/5a94bcbf0001e00105540426.jpg

希望可以帮到你~

  • 提问者 web_東 #1
    老师,我有点不明白slice方法怎么可以截取字符串,我写的使用substr方法,
    2018-02-27 10:43:38
  • 卡布琦诺 回复 提问者 web_東 #2
    slice()的语法: ​stringObject.slice(start,end) 其中,start是要抽取的片断的起始下标,如果是负数,则该参数规定的是从字符串的尾部开始算起的位置,也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推 end是紧接着要抽取的片段的结尾的下标,如果没有指定这个参数,则要提取的子串包括从 start 到原字符串结尾的字符串,如果这个参数是负数,那它规定的是从字符串的尾部开始算起的位置 这就是slice()方法的原理。
    2018-02-27 11:07:01
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
进击JavaScript核心 2018
  • 参与学习       466    人
  • 提交作业       74    份
  • 解答问题       635    个

JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师