splice和concat涵盖了所有js中关于数组的操作。
一.splice操作数组
1.删除操作
let arr1 = arr.splice(index, num);
说明:对数组中index位置开始,删除num个元素,返回删除的元素数组,并且原始数组发生变化。
例:
let arr = [1,2,3,4,5,6];
let arr1 = arr.splice(3,2);
此时,arr为[1,2,3,6]; arr1为[4,5];
2.插入操作
let arr1 = arr.splice(index, 0, elements);
说明:对数组中index位置处,插入元素elements,返回空数组,并且原始数组发生变化。
例:
let arr = [1,2,3,4,5,6];
let arr1 = arr.splice(3,0,4,5);
此时,arr为[1,2,3,4,5,4,5,6]; arr1为[];
3.替换操作
let arr1 = arr.splice(index, num,elements);
说明:对数组中index位置开始,将后面的num个元素替换成elements,返回之前替换的元素,并且原始数组发生变化。
例:
let arr = [1,2,3,4,5,6];
let arr1 = arr.splice(3,1,6,6);
此时,arr为[1,2,36,6,5,6]; arr1为[4];
二.concat合并数组
concat主要是用来合并数组的。
let arr1 = arr.concat(element1,element2,······);
说明:将数组arr与元素(element1,element2,······)合并,而(element1,element2,······)可以数组中的元素,也可以是数组,返回的是合并之后的新数组。
例:
let arr = [1,2,3,4,5,6];
let arr1 = arr.concat(7,8);
let arr2 = arr.concat([7,8],[9,10]);
此时,arr为 [1,2,3,4,5,6]不变; arr1为[1,2,3,4,5,6,7,8]; arr2为[1,2,3,4,5,6,7,8,9,10];