js中的slice与splice区别以及splice函数介绍
一、slice与splice的区别
slice()方法:
- 功能:用于提取数组的某个部分,并以新的数组返回被提取的部分。该方法不会改变原数组。
- 参数:slice(start, end),其中start是必需参数,表示开始提取的位置(索引值);end是可选参数,表示结束提取的位置(但不包括该位置的元素)。
- 返回值:返回一个新的数组,包含从start到end(不包括end)之间的元素。
splice()方法:
- 功能:用于向数组中添加/删除项目,然后返回被删除的项目。该方法会改变原数组。
- 参数:splice(start, deleteCount, item1, item2, ...),其中start是必需参数,表示开始添加/删除的位置(索引值);deleteCount是可选参数,表示要删除的元素个数;item1, item2, ...是要添加进数组的元素。如果省略deleteCount或设为0,则不会删除元素。
- 返回值:如果删除了元素,则返回包含被删除元素的数组;如果没有删除元素,则返回一个空数组。
二、splice函数详细介绍
- 语法:array.splice(start, deleteCount, item1, item2, ...)
- 参数说明:
- start:必需。整数,规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标。
- deleteCount:可选。整数,表示要移除的数组元素的个数。如果deleteCount是 0,则不会移除元素。这种情况下,至少要指定一个新元素。
- item1, item2, ...:可选。要添加进数组的元素,从start位置开始。如果不指定,则splice()将只删除数组元素。
- 返回值:由被删除的元素组成的数组。如果只删除了一个元素,则返回只包含一个元素的数组。如果没有删除元素,则返回空数组。
总结:
- slice()方法用于提取数组的某个部分,不改变原数组。
- splice()方法用于添加/删除数组元素,会改变原数组,并返回被删除的元素组成的数组。两者在功能和用法上存在显著差异。