2016-01-11 43 views
0

可以說我有如何在JavaScript中動態地將數組插入到另一個數組中? (未合併)

var per_day = []; 
    var data = []; 
    var limits = [3, 7]; 
    for(var j in limits){ 
     for(var k = 1; k <= limits[j]; k++){ 
      per_day[k] = getInputValues("ge",limits[j],k); 
     } 
     data[j] = per_day; 
    } 

getInputValues()返回數組。 on {for(var j in limits)}第一次迭代時,它返回包含3個元素的數組,並將該數組放入另一個數組(data [0])。但在第二次迭代時,它會返回7個元素並覆蓋第一個數組(data [1]覆蓋數據[0])。所以當我console.log()它,我得到2相同的數組(第二個數組重複)。如何解決這個問題?我想製作包含2個不同陣列的陣列

data[0] = array; // with any length 
    data[1] = array; // with any length 
+2

的可能的複製[使用Javascript - 插入另一個陣列內的陣列(http://stackoverflow.com/questions/7032550/javascript-insert-an-array-inside-another-array) –

+0

沒有其不。我已經看到了答案,我遇到了另一個問題 – heavymetal91

+1

在循環內移動了'per_day'的初始化。 –

回答

0

在循環內移動per_day的初始化。目前您只宣佈一次,因此它將被重新用作data[0]和。

var data = []; 
var limits = [3, 7]; 

for(var j in limits){ 

    //////////////////////////////////////////// 
    // MOVE THIS INITIALIZATION INSIDE LOOP!!! 
    var per_day = []; 
    //////////////////////////////////////////// 

    for(var k = 1; k <= limits[j]; k++){ 
     per_day[k] = getInputValues("ge",limits[j],k); 
    } 
    data[j] = per_day; 
} 
相關問題