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

时间:2012-05-17 15:36:25

标签: javascript arrays for-loop

是否可以循环播放一系列独立的数组?

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

3 个答案:

答案 0 :(得分:2)

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

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对象的成员变量。

答案 1 :(得分:0)

我相信,但为什么哦,你为什么要那样做呢? 只需创建一个数组数组:

//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)
}

答案 2 :(得分:0)

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

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);
}​