无法读取属性'charAt'undefined
任何人都可以请帮助我理解我在这里做错了什么。我是新来的JavaScript programming.I正在此错误:无法读取属性'charAt'undefined
Cannot read property 'charAt' of undefined.
//Return the first letter of given string.
function titleCase(str) {
var newStr = str.split(' ');
for (var i = 0; i <= newStr.length; i++) {
console.log(newStr[i].charAt(0));
}
}
titleCase("Coding is not easy");
<!-- end snippet -->
你循环条件需要得到更新。看你的字符串包括4个字,但迭代循环,直到我成为4和0,即循环开始将进行5次
function titleCase(str){
var newStr = str.split(' ');
for(var i = 0; i < newStr.length; i++){
console.log(newStr[i].charAt(0));
}
}
titleCase("Coding is not easy");
“...直到'我'变成**'4 **”,而不是5. –
这是一条评论,而不是答案。 –
刚刚从该行删除=
标志
for(var i = 0; i <= newStr.length; i++){
function titleCase(str){
var newStr = str.split(' ');
for(var i = 0; i < newStr.length; i++){
console.log(newStr[i].charAt(0));
}
}
titleCase("Coding is not easy");
这是一条评论,而不是答案。 –
function titleCase(str){
var newStr = str.split(' ');
for(var i = 0; i < newStr.length; i++){
console.log(newStr[i].charAt(0));
}
}
titleCase("Coding is not easy");
i <= newStr.length
你迭代直到长度相等,并从零开始。问题是最后你得到一个未定义的值。 在你的情况下,newStr数组长度是5,并且你也试图获得第5个元素,而只有4个值存在。
这是一条评论,而不是答案。 –
' Tushar
请参阅[*针对JavaScript中的每个数组?](https://stackoverflow.com/questions/9329446/for-each-over-an-array-in-javascript)了解循环数组内容的正确方法。 –