繁体   English   中英

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

[英]How to Add an Array as an Item in Another Array in JavaScript

想象一下,我创建了一个数组,如下所示:

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

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

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

现在是arr2的内容:

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

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

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

我怎样才能做到这一点?

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

感谢您提供的任何帮助。

使用ES6 传播语法 ...您可以做到这一点。

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

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

更新:现在问题已更改,此解决方案不再提供问题。

您可以为此使用concat:

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

哪个输出

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

如果您使用的是新版JS。 您可以这样做:

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

  array2.unshift(...array1);

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

实现此目的的方法:

1. ES6 Array.of()方法:它将创建一个具有可变数量参数的新Array,而不考虑参数的数量或类型。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM