JavaScript 中 slice 和 splice 的区别如下:slice() 返回数组的新拷贝,不会改变原始数组;而 splice() 会修改原始数组。slice() 的语法为 slice(start, end),splice() 的语法为 splice(start, deleteCount, ...items)。slice() 从指定位置开始复制元素,splice() 从指定位置开始移除或替换元素。

JS 中 slice 与 splice 的区别
开门见山
slice() 和 splice() 是 JavaScript 中用于操作数组的两个方法,但它们的功能不同。
详细展开
slice()
- 返回数组的一份浅拷贝(新数组)。
- 不会修改原始数组。
- 语法:
slice(start[, end]) -
参数:
-
start: 必选,从该索引开始复制元素。 -
end: 可选,复制到该索引(不包括)。
-
例子:
const arr = [1, 2, 3, 4, 5]; const newArr = arr.slice(2); // [3, 4, 5]
splice()
- 从数组中移除或替换元素,并返回被移除的元素。
- 会修改原始数组。
- 语法:
splice(start, deleteCount[, ...items]) -
参数:
-
start: 必选,从该索引开始移除元素。 -
deleteCount: 必选,要移除的元素数量。 -
...items: 可选,插入到start索引处的元素(如果指定)。
-
例子:
const arr = [1, 2, 3, 4, 5]; arr.splice(2, 2, 10, 11); // [1, 2, 10, 11, 5]
总结
- slice() 返回数组的浅拷贝,不会修改原始数组。
- splice() 从数组中移除或替换元素,会修改原始数组。










