javascript: 无法读取未定义的 属性 'push'

javascript: cannot read property 'push' of undefined

我正在尝试用用户提供的一些元素填充数组。我在提示 window 的情况下执行此操作。 但是,代码没有执行,我在第 9 行收到错误,告诉我:

未捕获类型错误:无法读取 属性 'push' of undefined at fillArrayWithNumberOfElements(第 9 行)。

我在网上搜索了一个答案,但他们都指出数组没有正确声明,而我很确定我的是。

感谢任何帮助,提前致谢!

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();

push 是附加到 array 类型原型的函数。您正在访问数组中的特定元素。