欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Javascript不清不楚之concat

程序员文章站 2023-12-25 10:21:51
...

Array.prototype.concat

代码均来自:MDN

此方法用来合并多个数组,不会改变原有的数组,返回一个新的数组(根据提供的数组做浅拷贝生成新数组)
注意:数组/值在连接时保持不变。此外,对于新数组的任何操作(仅当元素不是对象引用时)都不会对原始数组产生影响,反之亦然

  • 多个值或者数组合并
var arr = [1, 2, 3];
var res = arr.concat(4, [5, 6], [[7, 8], [9, 10]], {});
console.log(arr);   // [1, 2, 3]
console.log(res);   // [1, 2, 3, 4, 5, 6, Array(2), Array(2), {}]
//如果合并项是原子类型则直接push到arr,如果是数组则将数组里的元素挨个push到arr, 其他类型直接push
  • 合并嵌套数组
var arr1 = [[1, 2, 3], 4, 5], arr2 = [6, 7];
var res = arr1.concat(arr2);
arr1[0][0] = 11;
console.log(res);       // [[11, 2, 3], 4, 5, 6, 7]
console.log(arr1);      // [[11, 2, 3], 4, 5]
//由此可见arr1和arr2都是浅拷贝合并到了新书中res中,更改arr1的第一个引用型元素的值也反馈到了res中
相关标签: js concat array

上一篇:

下一篇: