0

是否可以像下面这样循环遍历一系列单独的数组?

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

3 回答 3

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

于 2012-05-17T15:44:28.567 回答
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)
}
于 2012-05-17T15:44:38.840 回答
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);
}​
于 2012-05-17T15:46:01.897 回答