为什么我的javascript字符串大写不起作用

时间:2015-12-25 21:03:20

标签: javascript

function titleCase(str) {
  var one = str.split('');

  for(var i = 0;i>one.length;i++) {
    one[i] = one[i].charAt(0).toUpperCase() + one[i].slice(1);
  }

  var final = one.join("");
  return final;
}

titleCase("I'm a little tea pot"); // yields "I'm a little tea pot", unchanged

你能解释一下为什么它不起作用吗?我应该把这个字符串中每个单词的首字母大写。

2 个答案:

答案 0 :(得分:5)

您的代码中有3个问题,

  • 您的for循环错误,应为i < one.length
  • 你不是要分开单词而是整个字符串。
  • 你必须放回单词之间的空格。

&#13;
&#13;
    function titleCase(str) {
    var one = str.split(' ');
    
    for(var i = 0;i<one.length;i++) {
        one[i] = one[i].charAt(0).toUpperCase() + one[i].slice(1);        
    }
    
    var final = one.join(" ");
    return final;
}
    
alert(titleCase("I'm a little tea pot"));
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您有以下逻辑错误:

1)你在每一个字母而不是每一个字上分开刺痛。使用。 (fd=open("try", O_WRONLY ))==-1代替split(' ')

2)您正在检查.split('')i > one.lengthi开始,情况从未如此。你应该0