我不确定我的问题是否有意义,但更详细地说,我不明白如何将值推送到一个空的多维数组中。
例如
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);
}