当我向数组添加元素时,TypeError:无法读取未定义的属性“长度”
2017-03-12
299
我目前正在开发一个 javaScript 函数,该函数返回字符串数组中最长的字符串。当数组中有三个元素时,它可以正常工作。但是,如果我向数组中添加另一个元素,它会中断并给出错误
TypeError:无法读取未定义的属性“length”
这是我的代码:
function largest_string(string){
for(var i = 0; i < string.length; i++){
if(string[i].length > string[0].length){
var temp = string[0];
string[0] = string[i + 1];
string[i+1] = temp
}
}
return string[0];
}
console.log(largest_string(["one","onetwo","onetwothree","onetwothreefour" ]));
2个回答
要修复的是 string[i] 而不是 string[i + 1]
Steven Aguilar
2017-03-12
function largest_string(string){
for(var i = 1; i < string.length; i++){
if(string[i].length > string[0].length){
var temp = string[0];
string[0] = string[i];
string[i] = temp
}
}
return string[0];
}
console.log(largest_string(["one","onetwo","onetwothree","onetwothreefour" ]));
Tareq
2017-03-13