切换主题
字数
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
方法会修改原数组,并返回一个新数组,包含被删除的元素。
通过这两个方法,你可以灵活地操作数组的内容,满足不同的需求。
贡献者
sunchengzhi