是否可以使用 for 循环编辑多个数组

Is it possible to edit multiple arrays with a for-loop?

本文关键字:数组 编辑 循环 可以使 for 是否      更新时间:2023-09-26

是否可以遍历一系列单独的数组,如下所示?

var test;
var ratedItems0 = new Array();
var ratedItems1 = new Array();
var ratedItems2 = new Array();
var ratedItems3 = new Array();
var ratedItems4 = new Array();
var ratedItems5 = new Array();    
for(var i=0; i<6; i++)
{
    test = 'test add num: '+ i
    ["ratedItems"+(i+1)].push(test);
}

您应该将数据重组为多维数组:

var ratedItems = new Array();
ratedItems[0] = new Array();
...
for(var i=0; i<ratedItems.length; i++) {
    var test = 'test add num: '+ i;
    ratedItems[i].push(test);
}

或者,如果由于某种原因无法以这种方式重构,则希望将每个元素引用为 window 的属性:

for(var i=0; i<6; i++) {
    var test = 'test add num: '+ i
    window["ratedItems"+(i+1)].push(test);
}

所有全局变量都是 window 对象的成员变量。

我相信

是的,但是为什么哦,你为什么要这样做呢?只需制作一个数组数组:

//init
var ratedItems = new Array();
for(var i=0; i<6; i++)
{
  ratedItems.push(new Array()); // Edited
}
// access
for(var i=0; i<6; i++)
{
  ratedItems[i].push(test)
}

尝试将它们全部放在一个对象中或创建一个数组数组。

var test;
var bob = 
    {
ratedItems0 : new Array(),
ratedItems1 : new Array(),
ratedItems2 : new Array(),
ratedItems3 : new Array(),
ratedItems4 : new Array(),
ratedItems5 : new Array()
};
for(var i=0; i<6; i++)
{
    test = 'test add num: '+ i
    bob ["ratedItems"+(i+1)].push(test);
}​