将数组添加到二维数组

时间:2011-11-18 14:56:25

标签: javascript multidimensional-array

阵列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?

5 个答案:

答案 0 :(得分:24)

这会将它添加到arrayA的末尾

arrayA.push(arrayZ);

以下是pushhttps://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/push

的参考资料

答案 1 :(得分:4)

您可以将数组推送到数组a,如此

的JavaScript

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

答案 2 :(得分:3)

没有任何代码,我只是假设

arr [0] =是数组X

arr [1] =是数组Y

所以你可以使用arr [2]作为Y

var foo = new Array()
foo[0] = new Array() // Your x
foo[1] = new Array() // Your y
foo[2] = new Array() // Your z

答案 3 :(得分:2)

好的,关于如何向数组中添加项目的响应很多,但让我们从更好的代码开始:

arrayA = [ //don't use new Array()
  [1, 2, 3],
  [4, 5, 6]
];

arrayZ = [7,8,9];

有几种方法可以做到这一点。

您可以使用数组方法unshiftpush

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

您还可以将splice新元素添加到数组中:

arrayA.splice(1, 0, arrayZ)

1指定要插入/删除的元素的起始索引。0指定应删除多少元素,在这种情况下,我们添加而不删除任何元素。 arrayZ是要插入的元素

答案 4 :(得分:0)

ES6 上,您可以使用点差运算符(...),如下所示:

arrayA = [
  [1, 2, 3],
  [4, 5, 6]
];

arrayB = [7,8,9];

arrayA = [...arrayA, ...[arrayB]];