📅  最后修改于: 2023-12-03 15:16:09.067000             🧑  作者: Mango
在 JavaScript 中,Array
是一种常用的数据类型,可以用来存储一组数据。其中,slice()
和 splice()
是两种常用的操作方式,它们都可以对数组进行截取、增删元素的操作,但是它们之间也存在一些差别。
slice()
方法接受两个参数 start
和 end
,返回一个新的数组,新数组中包含原数组中从 start
到 end
(不包括 end
)之间的元素,原数组不会被修改。
array.slice(start, end)
start
:表示截取的起始位置,包含此位置的元素也会被截取。end
:表示截取的结束位置,不包含此位置的元素,即截取的实际元素数量为 end - start
。一个新的数组。
const arr = [1, 2, 3, 4, 5];
console.log(arr.slice(1, 3)); // [2, 3]
console.log(arr.slice(1)); // [2, 3, 4, 5]
console.log(arr.slice(-2)); // [4, 5]
console.log(arr.slice()); // [1, 2, 3, 4, 5]
console.log(arr); // [1, 2, 3, 4, 5]
splice()
方法接受多个参数,可以删除、替换、插入元素,并改变原数组的结构。
array.splice(start, deleteCount, item1, item2, ...)
start
:表示从哪个位置开始修改数组。deleteCount
:表示要删除多少元素,如果为 0,则表示不删除任何元素。item1, item2, ...
:可选参数,表示要插入到数组中的元素。一个包含被删除元素的数组。
const arr = [1, 2, 3, 4, 5];
console.log(arr.splice(1, 2)); // [2, 3]
console.log(arr); // [1, 4, 5]
arr.splice(1, 0, 2, 3);
console.log(arr); // [1, 2, 3, 4, 5]
arr.splice(3, 1, 'four');
console.log(arr); // [1, 2, 3, 'four', 5]
slice()
方法返回原数组的一个子集,不会改变原数组的结构。splice()
方法删除、替换、插入元素,并改变原数组的结构。slice()
方法和 splice()
方法都可以用于截取、增删元素,适用场景不同,选择使用时建议根据实际需求进行选择。