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



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

例如

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... ]

我是首发球员。

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]]

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

几个建议:

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

您要求使用"push"来填充多维数组

假设你想要你的数组是这样的形式:

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

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

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

由于"push"将一个新元素添加到数组中,因此您需要将一个"array element"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] ]

希望这能澄清你对使用"推送"制作多维数组的理解。

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

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

相关内容

  • 没有找到相关文章

最新更新