所以我才刚刚开始编写代码,并且只学习了基本代码,并且使用以下方法动态创建了数组:
spread
但是现在我要制作它,以便可以将项目推入先前创建的row1 [],row2 []等...中,这样就可以像row1 [false,false ...]和row2 [错误,错误...]有办法吗?
答案 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,....
,您可以像普通数组一样直接访问它。