当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript Array concat()用法及代码示例


在本教程中,我们将借助示例了解 JavaScript Array concat() 方法。

concat() 方法通过合并两个或多个值/数组来返回一个新数组。

示例

let primeNumbers = [2, 3, 5, 7]
let evenNumbers = [2, 4, 6, 8]

// join two arrays 
let joinedArrays = primeNumbers.concat(evenNumbers);
console.log(joinedArrays);

/* Output:
[
  2, 3, 5, 7,
  2, 4, 6, 8 
]
*/

concat() 语法

用法:

arr.concat(value1, value2, ..., valueN)

这里,arr 是一个数组。

参数:

concat() 方法接受任意数量的数组和/或值作为参数。

返回:

  • 合并参数中传递的所有数组/值后返回一个新创建的数组。

concat() 方法首先创建一个新数组,其中包含调用该方法的对象的元素。然后它依次添加参数或参数的元素(对于数组)。

示例 1:使用 concat() 方法

var languages1 = ["JavaScript", "Python", "Java"];
var languages2 = ["C", "C++"];

// concatenating two arrays
var new_arr = languages1.concat(languages2);
console.log(new_arr); // [ 'JavaScript', 'Python', 'Java', 'C', 'C++' ]

// concatenating a value and array
var new_arr1 = languages2.concat("Lua", languages1);
console.log(new_arr1); // [ 'C', 'C++', 'Lua', 'JavaScript', 'Python', 'Java' ]

输出

[ 'JavaScript', 'Python', 'Java', 'C', 'C++' ]
[ 'C', 'C++', 'Lua', 'JavaScript', 'Python', 'Java' ]

示例 2:连接嵌套数组

concat() 方法以下列方式返回连接元素的浅拷贝:

  • 它将对象引用复制到新数组。 (例如: 传递嵌套数组)因此,如果修改了引用的对象,则更改在返回的新数组中可见。
  • 它将字符串和数字的值复制到新数组中。
var randomList = [1, 2, 3];
var randomNestedList = [
  [4, 5],
  [6, 7],
];

var combined = randomList.concat(randomNestedList);
console.log(combined); // [ 1, 2, 3, [ 4, 5 ], [ 6, 7 ] ]

// changing the value 1 to 0
randomList[0] = 0;
console.log(randomList); // [ 0, 2, 3 ]

// changes not reflected in concatenated array
console.log(combined); // [ 1, 2, 3, [ 4, 5 ], [ 6, 7 ] ]

// modifying nested list (adding 6 to first element)
randomNestedList[0].push(6);
console.log(randomNestedList); // [ [ 4, 5, 6 ], [ 6, 7 ] ]

// changes are reflected in concatenated array
// since it is a reference to the object
console.log(combined); // [ 1, 2, 3, [ 4, 5, 6 ], [ 6, 7 ] ]

输出

[ 1, 2, 3, [ 4, 5 ], [ 6, 7 ] ]
[ 0, 2, 3 ]
[ 1, 2, 3, [ 4, 5 ], [ 6, 7 ] ]
[ [ 1, 2, 3 ], [ 6, 7 ] ]
[ 1, 2, 3, [ 4, 5, 6 ], [ 6, 7 ] ]

在这里,嵌套数组的引用被复制到连接数组。因此,当我们修改任何引用时,这些更改会随处反映。

相关用法


注:本文由纯净天空筛选整理自 JavaScript Array concat()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。