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中
推荐阅读
-
Javascript不清不楚之concat
-
JavaScript入门之对象与JSON详解_基础知识
-
Javascript新手入门之字符串拼接与变量的应用
-
JS基础之undefined与null的区别分析_javascript技巧
-
zTree插件之单选下拉菜单实例代码_javascript技巧
-
JavaScript 定时器 SetTimeout之定时刷新窗口和关闭窗口(代码超简单)_javascript技巧
-
javascript dom操作之cloneNode文本节点克隆使用技巧_javascript技巧
-
前端笔记之JavaScript面向对象(四)组件化开发&轮播图|俄罗斯方块实战
-
JavaScript 面向对象的之私有成员和公开成员_js面向对象
-
深入JavaScript之基础应用