Javascript:通过for循环将数据存储在变量中

时间:2016-08-18 02:54:32

标签: javascript

我现在有一些随机的JSON数据,因此我无法使用standrad方法来做到这一点,不能一个接一个地做。

例如,如果我要将特定数据存储为数组,我将执行类似下面的操作

var tester = []; // store their names within a local array

for(var k = 0; i < data.result.length; i++){ //maybe 6

   for(var i = 0; i < data.result.data.length; i++){ //maybe 30 times in total

       tester.push(data.result[k].data[i].someNames);
    }

}

但是因为我无法预测我有多少数据集我无法真正做到像

这样的事情
 var tester = []; 
 var tester2 = []; 
 var tester3 = []; 
 var tester4 = []; 

   for(var i = 0; i < data.result.data.length; i++){ //maybe 30 times in total

       tester.push(data.result[0].data[i].someNames);
        tester2.push(data.result[1].data[i].someNames);
        tester3.push(data.result[2].data[i].someNames);
        tester4.push(data.result[3].data[i].someNames);


       }

是否有更好的方法使用for循环来存储这些数据?

1 个答案:

答案 0 :(得分:3)

使tester成为一个二维数组并使用嵌套循环。

var tester = [];

for (var i = 0; i < data.result.length; i++) {
    var curTester = [];
    var result = data.result[i];
    for (var j = 0; j < result.data.length; j++) {
        curTester.push(result.data[j].someNames);
    }
    tester.push(curTester);
}

一些一般原则:

  1. 每当你发现自己定义带有数字后缀的变量时,它们应该是一个数组。
  2. 如果您不知道自己将会拥有多少东西,请将它们放入阵列中。