无法读取未定义的属性“charAt”
2017-07-14
23453
有人能帮我理解一下我这里做错了什么吗?我是 JavaScript 编程新手。我收到此错误:
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("Hi there.");
<!-- end snippet -->
3个回答
您的循环条件需要更新。看到您的字符串包含 4 个单词,但迭代循环直到 i 变为 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");
sumit chauhan
2017-07-14
只需从此行中删除
=
符号
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");
Mohamed Abbas
2017-07-14
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 个值。
Escoute
2017-07-14