无法读取未定义列表列表的属性"名称"



嘿,我做错了什么?

var list = [{
name: 'client1'
},
{
name: 'client2'
},
{
name: "client3"
}
];
for (var i = 0; i <= list.length; i++) {
if (list[i]['name'].indexOf(self.autocomplete) !== -1) {
self.box = self.box + '<li>' + list[i]['name'] + '</li>';
}
}

我收到错误 未捕获的类型错误:无法读取未定义的属性"名称">

你的forloop被执行list.length+1次。这就是为什么您要获得最后一itemundefined的原因。

JavaScriptarrays零索引的:数组的第一个元素位于索引 0 处,最后一个元素位于等于数组长度属性值减去 1 的索引处。

改变

for(var i=0; i<=list.length; i++){}

for(var i=0; i<list.length; i++){}

相关内容

  • 没有找到相关文章

最新更新