我正在尝试用用户提供的许多元素填充数组。我正在使用提示窗口进行此操作。
但是,代码无法执行,并且在第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);
最佳答案
在fillArrayWithANumberOfElements
中,array
是数组,而不是array[i]
。所以推,只用
array.push(askInput());
不
// Not this
array[i].push(askInput());
如果愿意,也可以使用分配:
array[i] = askInput();