使用push()将值添加到空多维数组中的索引

时间:2015-06-26 18:09:52

标签: javascript multidimensional-array

我不确定我的问题是否有意义,但更详细地说,我不明白如何将值推送到空的多维数组中。

例如

var x = 1;
var y = 2;

//tried this
var arr1 = [[,]];
for (var i  = 0; i < arr1.length; i++){
    arr1[i][0].push(x), arr1[i][1].push(y) 
}

//Basically I want [[1,2], etc... ]

我是首发。

4 个答案:

答案 0 :(得分:0)

您可以使用以下代码将元素添加到二维数组中

for(var i = 0; i < arr1.length; i++) {  
  var arr2 = new Array();
  for(var key in arr1[i]) {
    arr2.push(arr1[i][key]);
  }
  arr1.push(arr2); 
}

答案 1 :(得分:0)

一些建议:

// 1st option
var arr1 = []
for (var i  = 0; i < count; i++){
    arr1.push([x,y]);
}

// 2nd option
var arr1 = [[],[]]
for (var i  = 0; i < count; i++){
    arr1[i].push(x,y);
}

答案 2 :(得分:0)

function add() {
    // add values to multidimensional array
    var x = 1;
    var y = 2;
    var array = [];
    for(i = 0; i < 5; i++) {
        array.push([x, y]);
    }
    console.log(array);
}
add();

结果:[[1,2],[1,2],[1,2],[1,2],[1,2]]

function replace() {
    // replace values in multidimensional array
    var x = 1;
    var y = 2;
    var array = [['',''],['','']];
    for(i = 0; i < array.length; i++) {
        array[i][0] = x;
        array[i][1] = y;
    }
    console.log(array);
}
replace();

结果:[[1,2],[1,2]]

您可以查看控制台日志,它会显示结果

答案 3 :(得分:0)

您要求使用“推送”来填充多维数组

因此,假设您希望以这种形式使用数组:

arr1 = [ elem1, elem2, elem3, ..., elemN ]

每个elem#n是一个数组,因此它是多维数组:

arr1 = [ [0, a], [1, b], [2, c], ... ]

由于“push”会向数组中添加一个新元素,因此您需要将“数组元素”“推送”到数组中,如下所示:

arr1 = [];
arr1.push([1,100]); // arr1 <---- [ [1,100] ]
arr1.push([2,101]); // arr1 <---- [ [1,100], [2,101] ]
arr1.push([3,102]); // arr1 <---- [ [1,100], [2,101], [3,102] ]

所以在你的情况下,你想使用循环来添加数组元素,其中第一个是'index',第二个是'value',你可以这样做:

var length = 5; 
var x = 5;
for (var u=0; u<length; u++){
    arr1.push( [u,x] );
}
// arr1 <-- [ [0,5], [1,5], [2,5], [3,5], [4,5] ]

希望这可以澄清您对使用“推”制作多维数组的理解。