Js中concat和push的區別

stone_fan發表於2019-04-12

概述

concat和push都可以向陣列後面追加資料,它們有啥異同呢,今天來對比一下。 測試程式碼地址:github.com/fanxuewen/e…

一、 concat

var sourceArr1=[1,2,3,4];
var sourceArr2=[5,6,7,8];
console.log('--------------concat 陣列-----------');
console.log('result',sourceArr1.concat(sourceArr2));
console.log('sourceArr1',sourceArr1);
console.log('sourceArr2',sourceArr2);
console.log('--------------concat 引數列表-----------');
console.log('result',sourceArr1.concat(...sourceArr2));
console.log('sourceArr1',sourceArr1);
console.log('sourceArr2',sourceArr2);
複製程式碼

Js中concat和push的區別
結果: concat的作用是在原陣列後追加,引數既可以是陣列也可以是引數列表,引數若是陣列自動展開(但只會展開一層),返回一個新的陣列,對原陣列沒有影響

一、 push

var pushArr1=[1,2,3,4];
var pushArr2=[5,6,7,8];
console.log('--------------push 陣列-----------');
console.log('result',pushArr1.push(pushArr2));
console.log('pushArr1',pushArr1);
console.log('pushArr2',pushArr2);
// console.log('--------------push 引數列表-----------');
// console.log('result',pushArr1.push(...pushArr2));
// console.log('pushArr1',pushArr1);
// console.log('pushArr2',pushArr2);
複製程式碼

Js中concat和push的區別
結果: push的作用也是在第一個陣列後追加,引數既可以是陣列也可以是引數列表,引數若是陣列會自動展開,會修改第一個陣列,不會修改第二個陣列,返回值為第一個陣列修改後的長度。

相關文章