我正在尝试用用户提供的许多元素填充数组。我正在使用提示窗口进行此操作。
但是,代码无法执行,并且在第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();

10-01 23:00