将数组添加到二维数组中

22

数组A是一个二维数组。它由X数组和Y数组组成。我想将数组Z作为另一个项添加到数组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?

阅读[常见问题解答],发布代码。 - zzzzBov
5个回答

31

请使用MDN(Mozilla开发者网络)作为JavaScript函数的参考,而不是W3Schools。 - zzzzBov

5

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

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
你可以这样将数组推入到数组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);

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

2
在ES6中,您可以使用展开运算符(...)如下所示:
arrayA = [
  [1, 2, 3],
  [4, 5, 6]
];

arrayB = [7,8,9];

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接