小知识点:splice与slice
在编程中(尤其JavaScript), slice 和 splice 是数组常用的方法,但功能和用法差异很大:
slice 是什么意思?
slice 意为“切片”,用于从数组中提取部分元素,返回一个新数组,不改变原数组。
- 语法: array.slice(startIndex, endIndex)
startIndex :提取的起始位置(包含该元素)。
endIndex :提取的结束位置(不包含该元素,可选,默认到数组末尾)。
- 示例:
const arr = [1, 2, 3, 4];
const newArr = arr.slice(1, 3); // 提取索引1到2的元素,结果:[2, 3]
console.log(arr); // 原数组不变:[1, 2, 3, 4]
splice 是什么意思?
splice 意为“拼接/删除”,用于修改原数组(删除、添加元素),返回被删除的元素组成的数组。
- 语法: array.splice(startIndex, deleteCount, item1, item2...)
startIndex :开始修改的位置。
deleteCount :要删除的元素数量(0则不删除)。
item1... :要添加到数组的元素(可选)。
- 示例:
const arr = [1, 2, 3, 4];
const deleted = arr.splice(1, 2, 5); // 从索引1删除2个元素,添加5
console.log(arr); // 原数组被修改:[1, 5, 4]
console.log(deleted); // 返回被删除的元素:[2, 3]
核心区别
- slice :不改变原数组,用于“提取”元素。
- splice :直接修改原数组,用于“删除/添加”元素。