坚持让我把每个单词的开头都大写的挑战

时间:2015-10-14 16:46:36

标签: javascript

基本上,挑战是要有一个算法,它接受一个字符串并返回每个单词大写的开头。很简单,但是我发现如何在循环中找到空格之后如何大写字母(也许有​​更好的方法)。

这是我的代码:

 var capitalize = function(string){

var split = string.split(" ");
var collection = [];
var store = [];

for(var i = 0; i < split.length; i++){

  if(split[i]){

      if(split[i] === " "){
        var init = split[i+1].toUpperCase();
        store.push(init);
        collection.push(split[i]);
      } else{
        collection.push(split[i]);
      }
  }

}

var temp = collection.join(" ");
var final = temp.charAt(0).toUpperCase() + temp.slice(1);

return final;

}

显然,在我的for循环中,它不会让我对我正在迭代的数组进行更改。然后我尝试了一个while循环,我尝试使用array.map,它仍然无法正常工作。我似乎不明白如何在找到空格(“”)之后将这个词大写。

感谢任何帮助。

3 个答案:

答案 0 :(得分:3)

你不能用" "分割字符串并使每个集合条目的第一个字母大写吗?

看看here如何使第一个字母大写。

答案 1 :(得分:0)

为什么要在JS中执行此操作时要在JS中执行此操作

[len(list(filter(lambda k: k<m, Y))) for m in X]

jsfiddle

答案 2 :(得分:0)

不需要所有变量

只需:

function (str){ return str.replace(str.charAt(0), str.charAt(0).toUpperCase()) }

会做的。