如何将项目推送到动态创建的数组中

时间:2019-03-14 06:00:29

标签: javascript arrays

所以我才刚刚开始编写代码,并且只学习了基本代码,并且使用以下方法动态创建了数组:

spread

但是现在我要制作它,以便可以将项目推入先前创建的row1 [],row2 []等...中,这样就可以像row1 [false,false ...]和row2 [错误,错误...]有办法吗?

2 个答案:

答案 0 :(得分:1)

目前尚不清楚this在这里指的是什么。相反,我建议创建一个对象,在该对象中,键为["row" + j],其值将为[],然后在嵌套循环中将值推入该数组

let obj = {};


for (var j = 0; j < 20; j++) {
  obj["row" + j] = [];
  for (var i = 0; i < 10; i++) {
    obj["row" + j].push("false");
  }
}

console.log(obj)

答案 1 :(得分:0)

如果要创建不在对象内部的数组,而是要像普通数组一样创建数组,则可以使用window,然后使用变量名来创建变量。

通常,当您声明varibale将位于窗口对象内部时(无需编写window.{variable name}就可以访问它)。因此,您可以利用window来创建动态变量。

for (var j = 0; j < 20; j++) {
  window["row" + j] = []; //<-----use window to create dynamic array
  for (var i = 0; i < 10; i++) {
    window["row" + j].push("false");
  }
}


row1[0] = "true"; // editing content of array
console.log(row1,row2);

在上面,我们创建了20个变量名row0,row1,....,您可以像普通数组一样直接访问它。