数组A是一个二维数组。它由数组X和y组成,我想把数组Z添加到数组A中作为数组A中的另一项,怎么做呢?
编辑添加代码:
arrayA = new Array(
[1, 2, 3] //array x
[4, 5, 6] //array y
);
arrayZ = new Array(7, 8, 9);
//now, how do I add arrayZ onto the end of arrayA?
这将把它添加到数组a的末尾
arrayA.push(arrayZ);
这里是push
的参考:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/push
关于如何向数组中添加项的回答很多,但是让我们从使您的代码更好开始:
arrayA = [ //don't use new Array()
[1, 2, 3],
[4, 5, 6]
];
arrayZ = [7,8,9];
有几种方法可以做到这一点。
可以使用数组方法unshift或push
arrayA.unshift(arrayZ) //adds z to the front of arrayA
arrayA.push(arrayZ) //adds z to the end of arrayA
你也可以显式地设置位置:
arrayA[0] = arrayZ //overwrites the first element
arrayA[1] = arrayZ //overwrites the second element
arrayA[2] = arrayZ //adds a new element at 2
arrayA[arrayA.length] = arrayZ //essentially the same as using push
也可以将新元素拼接到数组中:
arrayA.splice(1, 0, arrayZ)
1
指定插入/删除元素的起始索引。0
指定应该删除多少元素,在这种情况下,我们添加而不删除任何元素。arrayZ
是插入
你可以像这样把你的数组推入数组a
var a = new Array();
var x = new Array();
var y = new Array();
var z = new Array();
a.push(x);
a.push(y);
a.push(z);
编辑:后OP编辑问题与代码示例:
var z = new Array(7, 8, 9);
var a = new Array(
[1, 2, 3],
[4, 5, 6]
);
a.push(z);
没有任何代码,我只是假设
arr[0] = array X
arr[1] = array
所以你可以用arr[2]代替Yvar foo = new Array()
foo[0] = new Array() // Your x
foo[1] = new Array() // Your y
foo[2] = new Array() // Your z
在ES6上,您可以使用扩展运算符(...
)如下:
arrayA = [
[1, 2, 3],
[4, 5, 6]
];
arrayB = [7,8,9];
arrayA = [...arrayA, ...[arrayB]];