数组中push和concat的区别
数组中的push和concat
-
push的定义
向数组的末尾添加一个或更多元素,返回值为数组添加元素后的长度。
-
concat的定义
连接两个或更多的数组,并返回结果。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
// push方法 var a = [1,2,3]; console.log(a.push(4,5)); // 5 a.push(6,7); console.log(a); // [1,2,3,4,5,6,7] // concat方法 var a = [1,2,3]; var b = [4,5]; var c = a.concat(b); console.log(a,b,c); // [1,2,3] [4,5] [1,2,3,4,5]
-
两者区别
- push()是在原数组的基础上修改的,执行push()方法后原数组的值也会变,该方法会改变原数组以及原数组的长度;
- concat()是先把原数组复制到一个新的数组,然后在新数组上进行操作,所以不会改变原数组的值。
- 如果参数不是数组,push()和concat()都会直接把参数添加到数组后;如果参数是一个数组,push()就会直接把数组添加到原数组后,而concat()会把数组里的值取出来添加到原数组的后面。
// push方法添加数组 var x = [5,6,7,8]; x.push(['a','b']); console.log(x); // [5, 6, 7, 8, Array(2)] ==> [5, 6, 7, 8, ['a','b']] // concat方法添加数组 var y = ['s','f','h','k']; var z = y.concat([2,3]); console.log(z); // ['s', 'f', 'h', 'k', 2, 3] // 注意: concat()参数是数组会展开,但只会展开一层 var y = ['s','f','h','k']; var z = y.concat([2,3,['u']]); console.log(z); // ['s', 'f', 'h', 'k', 2, 3, Array(1)]
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!