Array.splice()
和 Array.slice()
是 JavaScript 中用于操作数组的两个方法,它们的功能和作用略有不同。
Array.splice()
- 作用:
splice()
方法用于向/从数组中添加/删除元素。 - 参数: 可接受多个参数,第一个参数是指定的起始位置,第二个参数是删除的元素个数(如果为 0 则表示不删除元素),其后是可选的要添加到数组的新元素。
- 返回值: 返回被删除的元素组成的数组。
Array.slice()
- 作用:
slice()
方法用于截取数组中的一部分元素,但不改变原始数组。 - 参数: 可接受两个参数,起始位置和结束位置(不包含结束位置的元素)。如果不提供结束位置,则默认截取到数组末尾。
- 返回值: 返回截取的元素组成的新数组。
区别:
-
改变原数组:
splice()
方法会修改原始数组,删除/添加元素后会直接影响原数组;而slice()
方法不会修改原数组,而是返回一个新的数组副本。 -
返回值:
splice()
返回被删除的元素组成的数组,而slice()
返回截取的元素组成的新数组。
示例:
const arr = [1, 2, 3, 4, 5];
const removed = arr.splice(1, 2); // 删除索引1开始的2个元素,返回删除的元素组成的数组
// arr 现在为 [1, 4, 5],removed 为 [2, 3]
const sliced = arr.slice(1, 3); // 截取索引1到索引3(不包含)的元素,返回新的数组
// arr 仍为 [1, 4, 5],sliced 为 [4, 5]
总体而言,splice()
用于修改数组,slice()
用于截取数组。根据需求选择合适的方法来操作数组。
Was this helpful?
0 / 0