一、替换特定位置的元素
// 将数组arr中下标为1的元素替换为新元素newItem let arr = ['a', 'b', 'c']; let newItem = 'new'; arr.splice(1, 1, newItem); console.log(arr); // ['a', 'new', 'c']
我们可以发现,splice方法有三个参数:要操作的开始位置、要删除的元素个数、要添加的元素。所以当我们想要替换某个位置的元素时,就将要删除的元素个数设置为1,然后将新元素作为第三个参数传递进去即可。
提示:可以传递多个元素作为第三个参数,来替换从特定位置开始的若干个元素。
二、插入新元素
// 数组arr中下标为2的位置插入一个新元素newItem let arr = ['a', 'b', 'c']; let newItem = 'new'; arr.splice(2, 0, newItem); console.log(arr); // ['a', 'b', 'new', 'c']
与替换不同,这里要删除的元素个数为0,因为我们仅仅是在指定的位置插入新元素。
通过这种方式,我们可以轻松地在数组的任意位置插入新元素。
三、删除指定元素
// 删除数组arr中下标为1的元素 let arr = ['a', 'b', 'c']; arr.splice(1, 1); console.log(arr); // ['a', 'c']
这里我们将要删除的元素个数设置为1,然后就可以轻松删除指定位置的元素了。
同样地,我们可以根据需要删除任意个数的元素,只需要将第二个参数设置为需要删除元素的个数。
四、整体替换数组
// 将数组arr整体替换为新数组newArr let arr = ['a', 'b', 'c']; let newArr = ['d', 'e', 'f']; arr.splice(0, arr.length, ...newArr); console.log(arr); // ['d', 'e', 'f']
如果我们需要将整个数组替换为新的元素,就需要将要删除的元素个数设置为当前数组的长度,然后使用展开语法将新数组传递进去即可。
当然,这种方式需要谨慎使用,因为它会完全替换原有数组,可能会带来一些无法预料的问题。
五、多个操作组合使用
// 删除数组arr中下标为1的元素,同时在其位置插入新元素newItem let arr = ['a', 'b', 'c']; let newItem = 'new'; arr.splice(1, 1, newItem); console.log(arr); // ['a', 'new', 'c']
在某些场景下,我们需要进行多个操作,可以使用多个splice方法进行组合。上面的代码实现了删除指定元素并在其位置插入新元素。
同样地,我们也可以通过多个splice方法进行组合,实现任意多个复杂的操作。