slice()
和 splice()
都是 JavaScript 中用于操作数组的方法,但它们有着不同的作用。
slice()
方法:
slice()
方法用于创建一个新的数组,包含原始数组中的指定部分。- 它不会修改原始数组,而是返回一个从开始索引到结束索引(不包括结束索引)的新数组。
- 语法:
array.slice(start, end)
,其中start
是开始提取的起始位置,end
是提取的结束位置(不包括)。 - 如果不提供
end
参数,则提取从start
位置到数组末尾的所有元素。 - 示例:
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],原数组未改变
splice()
方法:
splice()
方法用于从数组中添加或删除元素。- 它会修改原始数组,并返回被删除元素组成的新数组(如果有删除的话)。
- 语法:
array.splice(start, deleteCount, item1, item2, ...)
,其中start
是开始修改的位置,deleteCount
是要删除的元素数量,可选的item1, item2, ...
是要添加到数组的元素。 - 示例:
const array = [1, 2, 3, 4, 5];
const removed = array.splice(1, 2, 'a', 'b');
console.log(removed); // 输出:[2, 3]
console.log(array); // 输出:[1, 'a', 'b', 4, 5],原数组已修改
总之,slice()
返回一个新的数组,不修改原始数组,而 splice()
修改原始数组,并返回被删除的元素组成的新数组(如果有删除的话)。两者用途不同,需要根据需求来选择使用。
Was this helpful?
0 / 0