javascript:无法读取未定义的属性“push”
2017-05-23
6434
我试图用用户指定的元素数量填充一个数组。我使用提示窗口执行此操作。 但是,代码没有执行,我在第 9 行收到错误,告诉我:
未捕获的 TypeError:无法读取 fillArrayWithNumberOfElements(第 9 行)中未定义的属性“push”。
我在网上搜索答案,但他们都指出数组没有正确声明,而我很确定我的数组声明正确。
任何帮助都值得感激,提前致谢!
var emptyArray = [];
function askInput() {
return (prompt("Please enter a number: "));
}
function fillArrayWithANumberOfElements(array, numberOfElements){
for(var i = 0; i < numberOfElements; i++){
array[i].push(askInput());
}
return array;
}
fillArrayWithANumberOfElements(emptyArray, 5);
2个回答
在
fillArrayWithANumberOfElements
中,
array
是数组,而不是
array[i]
。因此,要推送,只需使用
array.push(askInput());
而不是
// Not this
array[i].push(askInput());
或者,如果您愿意,可以使用赋值:
array[i] = askInput();
T.J. Crowder
2017-05-23
push
是附加到
array
类型原型的函数。您正在访问数组中的特定元素。
christopher
2017-05-23