📌  相关文章
📜  JavaScript 中的 Array.slice() 和 Array.splice() 有什么区别?(1)

📅  最后修改于: 2023-12-03 15:16:09.067000             🧑  作者: Mango

JavaScript 中的 Array.slice() 和 Array.splice()

在 JavaScript 中,Array 是一种常用的数据类型,可以用来存储一组数据。其中,slice()splice() 是两种常用的操作方式,它们都可以对数组进行截取、增删元素的操作,但是它们之间也存在一些差别。

Array.slice()

slice() 方法接受两个参数 startend,返回一个新的数组,新数组中包含原数组中从 startend(不包括 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]
Array.splice()

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() 方法都可以用于截取、增删元素,适用场景不同,选择使用时建议根据实际需求进行选择。