javascript push 和 concat 的区别

array.push(item1,item2,item3...)

array.concat(item1,item2,item3...)

1. push和concat的元素都既可以是普通元素(任意类型),也可以数组元素
2. push和concat的参数都是无限的参数列表
2. push的item会添加到末尾,并且都是以整体的形式添加到数组末尾,数组元素会直接以数组整体的形式存在
3. concat的元素会被打碎,非数组元素无法打碎,以整体形式加入,数组元素会被打碎,以单个元素的形式加入,
并且数组元素和非数组元素可以混用,例如

var arr = [1,2,3];

arr = arr.concat(4,[5,6],7) 

//arr: [1,2,3,4,5,6,7]

6. push方法会直接修改原数组,返回值为加入元素后的新数组长度
   concat方法不会修改原数组,而是连接之后返回一个新的数组,通常用arr = arr.concat(...)的形式来
   接收返回值,否则看不到修改效果

posted @ 2018-10-11 00:45  全玉  阅读(4045)  评论(0编辑  收藏  举报