如何在JavaScript中的另一个数组中添加数组作为项

时间:2017-05-23 14:25:48

标签: javascript arrays

想象一下,我按如下方式创建了一个数组:

var arr1 = ['one', 'two', 'three'];

我现在想要创建另一个这样的数组:

var arr2 = [arr1, 'four', 'five']

现在这是arr2的内容:

[Array(3), "four", "five"]

这不是我想要的。我希望内容看起来像这样:

['one', 'two', 'three', 'four', 'five']

我该怎么做?

注意,我正在寻找像concat这样的函数,而是一种将arr1列为arr2中的项目的方式,这样arr1中的所有项目都将作为单独添加arr2中的项目(我希望有意义)。

感谢您提供的任何帮助。

4 个答案:

答案 0 :(得分:10)

使用ES6 spread syntax ...,您可以做到这一点。

  

扩展语法允许在需要多个参数(用于函数调用)或多个元素(用于数组文字)或多个变量(用于解构赋值)的地方扩展表达式。



var arr1 = ['one', 'two', 'three'];
var arr2 = [...arr1, 'four', 'five']

console.log(arr2)




答案 1 :(得分:2)

更新:现在问题已经改变,这个解决方案不再提供问题。

您可以使用concat:

var arr1 = ['one', 'two', 'three'];
var arr2 = arr1.concat(['four', 'five', 'six']);

哪个输出

["one", "two", "three", "four", "five", "six"]

答案 2 :(得分:0)

如果您正在使用新版本的JS。你可以这样做:

var
  array1 = [1,2,3],
  array2 = [3, 4, 5];

  array2.unshift(...array1);

  // array2 = [1,2,3,4,5,6]
  // array1 = [1, 2, 3]

答案 3 :(得分:0)

实现这一目标的方法:

<强> 1。 ES6 Array.of()方法:它将创建一个具有可变数量参数的新数组,无论参数的数量或类型如何。

const arr1 = ['one', 'two', 'three'];

const arr2 = Array.of(...arr1, 'four', 'five');

console.log(arr2);

<强> 2。使用Array.concat()方法:此方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

var arr1 = ['one', 'two', 'three'];

var arr2 = arr1.concat(['four', 'five']);

console.log(arr2);

第3。使用ES6 Array.from()方法:它还可以从类似数组或可迭代的对象创建一个新的Array实例。

const arr1 = ['one', 'two', 'three'];

Array.from(['four', 'five'], item => arr1.push(item));

console.log(arr1);