javascript push 和 concat 的區別

看風景就發表於2018-10-11
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(...)的形式來
   接收返回值,否則看不到修改效果

相關文章