js中slice和splice的区别

文章类型:Javascript

发布者:hp

发布时间:2023-05-19

slice和splice是两个常见的数组操作方法。

一:区别

1:slice 方法

用于创建一个新的数组,新数组包含原数组中的一部分元素。

不会修改原数组,返回一个新数组。

slice方法接受两个参数,分别是起始索引和结束索引(可选)。

起始索引表示开始提取元素的位置,结束索引表示提取结束的位置(不包括该索引对应的元素)。

如果省略结束索引,则会提取从起始索引到数组末尾的所有元素

 const array = [1, 2, 3, 4, 5];
const newArray = array.slice(1, 4);

console.log(newArray); // 输出: [2, 3, 4]
console.log(array); // 输出: [1, 2, 3, 4, 5]

2:splice 方法

用于修改原数组,可以删除、替换或插入元素。

接受三个或更多参数。

第一个参数是起始索引,表示操作开始的位置。

第二个参数是要删除的元素数量。如果第二个参数为0,则不删除任何元素。

从第三个参数开始,可以添加新的元素到数组中

const array = [1, 2, 3, 4, 5];
const removedElements = array.splice(1, 3, 'a', 'b', 'c');

console.log(array); // 输出: [1, 'a', 'b', 'c', 5]
console.log(removedElements); // 输出: [2, 3, 4]

二:总结

1:slice返回的是一个新的数组,不修改原数组,用于提取数组的一部分

2:splice修改原数组,用于删除、替换和插入元素