Js中concat和push的区别

2,610 阅读1分钟

概述

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);

结果: 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);

结果: push的作用也是在第一个数组后追加,参数既可以是数组也可以是参数列表,参数若是数组会自动展开,会修改第一个数组,不会修改第二个数组,返回值为第一个数组修改后的长度。