Skip to content
字数
588 字
阅读时间
3 分钟

slice 方法

slice 方法用于提取数组的一部分,并返回一个新数组,而不修改原数组。它接收两个参数:起始索引(包含)和结束索引(不包含)。如果不提供第二个参数,则提取从起始索引到数组末尾的所有元素。

js
let newArray = array.slice(start, end);
  • start:提取起始位置的索引。
  • end(可选):提取结束位置的索引(不包含该索引)。
js
const array = [1, 2, 3, 4, 5];
const newArray = array.slice(1, 3);
console.log(newArray); // 输出: [2, 3]
console.log(array);    // 输出: [1, 2, 3, 4, 5](原数组未改变)

splice 方法

splice 方法用于通过删除或替换现有元素以及/或添加新元素来修改数组的内容。它会直接修改原数组,并返回一个包含被删除元素的新数组。

语法

javascript

复制代码

array.splice(start, deleteCount, item1, item2, ...);

  • start:表示修改开始的位置(索引)。
  • deleteCount:表示要移除的数组元素的个数。
  • item1, item2, ...(可选):表示要添加进数组的新元素。

示例:删除元素

javascript

复制代码

const array = [1, 2, 3, 4, 5]; const removed = array.splice(2, 2); console.log(array); // 输出: [1, 2, 5](原数组已改变) console.log(removed); // 输出: [3, 4](返回被删除的元素)

示例:添加元素

javascript

复制代码

const array = [1, 2, 3, 4, 5]; const removed = array.splice(2, 0, 'a', 'b'); console.log(array); // 输出: [1, 2, 'a', 'b', 3, 4, 5](原数组已改变) console.log(removed); // 输出: [](没有删除任何元素)

示例:替换元素

javascript

复制代码

const array = [1, 2, 3, 4, 5]; const removed = array.splice(2, 2, 'a', 'b'); console.log(array); // 输出: [1, 2, 'a', 'b', 5](原数组已改变) console.log(removed); // 输出: [3, 4](返回被删除的元素)

总结

  • slice 方法不会修改原数组,它返回一个新数组,包含从原数组中提取的部分元素。
  • splice 方法会修改原数组,并返回一个新数组,包含被删除的元素。

通过这两个方法,你可以灵活地操作数组的内容,满足不同的需求。

贡献者

The avatar of contributor named as sunchengzhi sunchengzhi

文件历史

撰写