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

Sel*_*ian 2 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
Run Code Online (Sandbox Code Playgroud)

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

Mus*_*usa 5

您的代码中有3个问题,

  • 你的for循环是错误的,它应该是 i < one.length
  • 你不是在分割单词而是整个字符串.
  • 你必须放回单词之间的空格.

    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"));
Run Code Online (Sandbox Code Playgroud)