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

それらをすべて単一のオブジェクトに入れるか、配列の配列を作成してみてください。

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 に答える
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 に答える