抱歉,我是javascript的新手,我只是想弄湿我的脚。
我过去使用过join()没有问题,但由于某种原因,这个连接似乎返回一个空字符串。
myArray中的信息似乎格式正确。
任何帮助将不胜感激。谢谢!
function titleCase(str) {
var splitArray = str.split(" ");
var myArray = [];
var joinArray = myArray.join(' ');
for (var i in splitArray) {
myArray.push(splitArray[i].charAt(0).toUpperCase() + splitArray[i].slice(1).toLowerCase());
}
return joinArray;
}
titleCase("capitalize the first letter of each word in this string");
答案 0 :(得分:2)
你加入myArray
之前它有任何内容,然后返回它,未经修改。
function titleCase(str) {
var splitArray = str.split(" ");
var myArray = [];
for (var i in splitArray) {
myArray.push(splitArray[i].charAt(0).toUpperCase() + splitArray[i].slice(1).toLowerCase());
}
return myArray.join(' ');
}
document.getElementById('result').innerHTML = titleCase("capitalize the first letter of each word in this string");
<p id="result"></p>
答案 1 :(得分:1)
你在填充myArray之前定义了joinArray。 尝试移动
var joinArray = myArray.join(' ');
到
之前的那一行return joinArray;
答案 2 :(得分:1)
我明白了。显然位置很重要,并且在for循环有机会运行之前就已经发生了联接。