2016-08-18 175 views
1

我现在有一些随机JSON数据,因此我无法使用standrad方式来做到这一点,不能一个一个地做。Javascript:通过for循环将数据存储在变量中

例如,如果我要去存储特定数据阵列我会做类似下面

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循环来存储这些数据吗?

+0

也许会使用while循环,直到数据不足为止? – davidhu2000

+1

双'for'循环是你最好的选择。另外,对于(var i = 0; i Derek

回答

3

使tester一个2维数组并使用嵌套循环。

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. 当你不知道你会有多少东西时,把它们放在一个数组中。
+0

完美的方法。 – anson920520

相关问题