concat()方法
用于连接两个或多个数组。该方法不会改变现有的数组,而返回被连接数组的一个副本(返回一个新的数组)。但需要注意的是concat并不是真正的深拷贝。
可以传递一个或多个数组
var arr = ['aaa','bbb','ccc'];
var arr2 = arr.concat('ddd','eee');
console.log(arr); // ['aaa','bbb','ccc']
console.log(arr2); // ['aaa','bbb','ccc', 'ddd','eee']
// 可以同时传递一个或多个数组
// 可以同时传递一个或多个数组
var arr = ['aaa','bbb','ccc'];
var arr2 = arr.concat(1,['red','green'],['ddd','eee']);
console.log(arr); // ['aaa','bbb','ccc']
console.log(arr2); // ['aaa','bbb','ccc', 1, 'red','green', 'ddd','eee']
// 不提供参数,concat()会复制整个数组
// 不提供参数,concat()会复制整个数组
const arr = [1, 2, 3, 4, 5];
const newArray = arr.concat();
console.log(newArray); // 输出: [1, 2, 3, 4, 5]
push()方法
用于向数组的末尾添加一个或多个元素,可以接收任意数量的参数,返回新数组的长度。这个方法会改变原始数组。
const arr = [1, 2, 3,];
arr.push(4, 5, 6);
console.log(arr);//[1,2,3,4,5,6]
console.log(arr.push(4, 5, 6));//6
push() 和 concat()方法区别:
push()
和concat()
方法都可以将传的参数添加到数组的后面。
push()
是在原数组上操作(改变的是原数组),传递的参数是数组时,将整个数组传给原数组末尾。concat()
不会改变原数组,创建原数组的副本,并且把传的参数添加到新数组后面。传递的参数是数组时,将参数中数组的每一个数组项添加到原数组的末尾。
unshift()方法
用于向数组的前面添加元素, 返回新数组的长度。该方法的效率是较低的。因为它每添加一个元素,都要把现有元素往下移一个位置。
var arr = []; //创建一个空的数组
arr.unshift(1,2,3,4); // 将1,2,3,4推入到数组arr
console.log(arr); // [1,2,3,4]
console.log(arr.length); // 4
更多参考:
JavaScript学习笔记:数组的push()、pop()、shift()和unshift()方法 - 前端开发者学堂 (fedev.cn) - 前端开发社区