如何用变量定义一个数组,然后用一个数字填充每个数组

How can I define an array with variables and then populate each with a number?

本文关键字:一个 数组 数字 填充 然后 定义 变量 何用      更新时间:2023-09-26

我有一个数组,其中定义了多个变量。但是当尝试将它们中的每一个设置为 0 时,我收到一个错误,指出数组的第一个变量未定义。

这是我所拥有的:

var keys = [key1, key2, key3, etc...];
function loadKeys(){
    for(i=0;i<36;i++) {
        keys[i] = 0;
    }
}

错误是由于 key1 未定义为变量。 实际上有几种不同的方法可以做到这一点,包括手动设置密钥。

var keys = [0,0,0,0...]

但是,如果您的键具有默认值,则无需键入所有这些内容,则始终可以使用 push 命令初始化数组

var keys = [];
for (int i= 0; i<36;i++){
    keys.push({defaultValue});
}

这将使数组中的所有元素都使用默认值定义,而不是未定义的元素

你的代码失败并出现ReferenceError,因为key1key2等不存在 - JavaScript 运行时不知道你要求什么值。

您的示例实际上并不需要设置这些变量。如果你只需要一个包含 35 个元素的数组,全部设置为 0 ,你可以使用:

var keys = [];
for(var i = 0; i < 36; i ++) {
  keys.push(0);
}

有关执行此操作的其他方法,请参阅创建零填充 JavaScript 数组的最有效方法?

展望未来,ES6 提供了Array.prototype.fill

var keys = new Array(35);
keys.fill(0);

这种方法尚未广泛实现,但您可以在Firefox 31+中尝试。

ES6 兼容性表

var keys = ['key1', 'key2', 'key3'];
function loadKeys(){
    for(i=0;i<36;i++) {
        keys[i] = 0;
    }
}

到目前为止,正在为我工作。不过我不明白你的问题,这些变量在你的数组中吗?