splice 方法一个数组中最强大的方法,不仅可以对数组进行元素对添加,对数组元素对删除,对数组元素的替换,可以说它集百家与一身,它会直接修改原数组,返回删除的元素。
那么我们就来好好的看看它是如何进行数组的添加、删除与替换工作。
splice 方法的参数传入数量不的不同形成的效果也会不同。
首先它接受三个参数或甚至更多,除了开始位置索引 start 参数以外,其余全是可选参数。
//语法
array.splice(start, count, item1, item2, ...)
start:删除数组元素的开始索引(必须)
count:需要删除元素的个数
item1,item2…:插入数组的元素
一、删除数组
传递一个参数的时候,数组会删除从给定的索引到数组结束的所有元素,原数组会被修改,返回删除的数组
//删除元素
const numbers = [1, 2, 3, 4, 5];
const removes = numbers.splice(2);
console.log(numbers); //[1, 2]
console.log(removes); //[3, 4, 5]
如何删除指定个数的数组?如我们只想删除第6个元素等等…
我们添加第二个参数 count 即可,元素的索引是从0开始,也就是说 start 参数是从 0 开始的。
//删除第6个元素
const numbers = [1, 2, 3, 4, 5, 6, 7, 8];
const removes = numbers.splice(5, 1);
console.log(numbers); //[1, 2, 3, 4, 5, 7, 8]
console.log(removes); //[6]
//删除第6,7位两个元素
const numbers = [1, 2, 3, 4, 5, 6, 7, 8];
const removes = numbers.splice(5, 2);
console.log(numbers); //[1, 2, 3, 4, 5, 8]
console.log(removes); //[6, 7]
二、添加数组
如何添加一个元素,这会就要用到我们的第三个参数或者第四个,第五个等等,依次添加即可。
//指定在某个位置添加一个元素
const numbers = [1, 2, 3, 4, 5];
const removes = numbers.splice(2, 0, 'F');
console.log(numbers); //[1, 2, "F", 3, 4, 5]
console.log(removes); //[]
//指定在某个位置添加多个元素
const numbers = [1, 2, 3, 4, 5];
const removes = numbers.splice(2, 0, 'A', 'B', 'C');
console.log(numbers); //[1, 2, "A", "B", "C", 3, 4, 5]
console.log(removes); //[]
因为不对数组进行任何的删除项,然后又在数组中插入一些元素,实现的数组的添加
三、替换数组元素
替换的思路与删除仅仅多了一步把要插入掉位置元素给删除掉。
//替换第2,3位的元素
const numbers = [1, 2, 3, 4, 5];
const removes = numbers.splice(2, 2, 'A', 'B');
console.log(numbers); //[1, 2, "A", "B", 5]
console.log(removes); //[3, 4]