【发布时间】:2017-08-04 07:14:52
【问题描述】:
我正在研究一个 FreeCodeCamp 算法问题,我被要求对给定字符串进行标题大小写,例如将每个单词的第一个字母大写。我设法使用以下代码做到了:
function titleCase(str) {
var wordArr = str.split(" ");
for(var i=0; i<wordArr.length; i++){
wordArr[i] = wordArr[i].charAt(0).toUpperCase() + wordArr[i].slice(1).toLowerCase();
}
return wordArr.join(" ");
}
但我开始尝试以这样的方式使用 array.map():
function titleCase(str) {
var wordArr = str.split(" ");
var newArr = wordArr.map(function(word){
word = word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
});
return newArr;
}
我什至没有费心尝试连接(即使用.join())数组,因为它是一个 null 值的数组。为什么array.map() 在这种情况下不起作用?还是我只是在某个地方犯了一个愚蠢的错误?
【问题讨论】:
标签: javascript arrays string for-loop array.prototype.map