如何在JavaScript中动态地将数组插入另一个数组? (不合并)

时间:2016-01-11 13:11:20

标签: javascript arrays

让我说我有

    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()返回数组。在{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

1 个答案:

答案 0 :(得分:0)

在循环内移动per_day的初始化。目前您只是声明一次,因此它被重新用作data[0]data[1]

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