JavaScript:如何连接/组合两个数组以连接成一个数组?

Die*_*l11 164 javascript arrays

我正在尝试将javascript中的2个数组合并为一个.

var lines = new Array("a","b","c");
lines = new Array("d","e","f");
Run Code Online (Sandbox Code Playgroud)

这是一个快速的例子,我希望能够将它们组合起来,这样当读取第二行时,数组中的第4个元素将返回"d"

我该怎么办?

Moi*_*man 283

var a = ['a','b','c'];
var b = ['d','e','f'];
var c = a.concat(b); //c is now an an array with: ['a','b','c','d','e','f']
console.log( c[3] ); //c[3] will be 'd'
Run Code Online (Sandbox Code Playgroud)

  • 老帖子,但对于现在谷歌搜索,@ geotheory的问题有一个简单的答案:`Array.prototype.concat.apply([],[[1,2],[3,4],[5,6]])` (27认同)
  • 与**es6**:`c = a.push(... b)` (22认同)
  • 它会添加重复的条目..对吗? (4认同)
  • @Matt是的,因为它只是一个数组,它不跟踪其内容. (4认同)
  • 你也可以这样做:const newArr = [... arr1,... arr2]; (4认同)
  • @geotheory检查underscorejs有一个简化为the underscorejs.org;); (3认同)

vit*_*y-t 21

使用现代 JavaScript 语法 -扩展运算符

const a = ['a', 'b', 'c'];
const b = ['d', 'e', 'f'];

const c = [...a, ...b]; // c = ['a', 'b', 'c', 'd', 'e', 'f']
Run Code Online (Sandbox Code Playgroud)

它也是当今 JavaScript 中连接数组的最快方法。

  • 有帮助(+1),但有“最快方式”主张的来源或至少有论据吗? (3认同)