我有一个演示文稿,我想我会损坏笔记本电脑。
我有这段运行良好的代码,并且没有进行任何更改,我得到了此消息。
这是我得到错误的代码
var array = [];
for (let i = 0; i < customerDetails.length; i++){
array[i].push(customerDetails[i].name);
}
btw customerDetails是对象数组,即[{},{},{}]
数组未定义到底是什么?最初,我在另一个地方有数组定义(在函数外,所以它工作正常,然后将其移到那里只是为了测试)。
是我太累了,看不到它,还是实际导致了另一个问题?错误本身对我来说没有意义。
编辑: 我在这里从下面给出答案,应该没有array [i] .push,而是array.push 尽管我没有改变,但仍然应该看到它。 感谢这个社区的帮助,您真的很棒!
答案 0 :(得分:4)
push()
是与array
相关的功能。您正在使用array[i].push()
将值推入数组的元素,该元素无效且不存在。使用array
array.push()
var array = [];
for (let i = 0; i < customerDetails.length; i++){
array.push(customerDetails[i].name);
}
答案 1 :(得分:1)
使用array.push代替array [i] .push
var array = [];
for (let i = 0; i < customerDetails.length; i++){
array.push(customerDetails[i].name); // no need give array index while pushing data
}
答案 2 :(得分:0)
var array = [];
for (let i = 0; i < customerDetails.length; i++){
array.push(customerDetails[i].name);
}
您不能使用array[i].push()
,因为它引用数组中的单个元素而不是数组本身。