【array.slice返回值】在JavaScript中,`Array.prototype.slice()` 是一个非常常用的数组方法,用于从数组中提取一部分元素并返回一个新的数组。它不会修改原数组,而是返回一个新数组。
以下是对 `array.slice()` 返回值的总结:
一、基本说明
- 功能:从数组中提取指定范围的元素,返回新的数组。
- 参数:
- `start`(可选):开始提取的位置索引(从0开始),默认为0。
- `end`(可选):结束提取的位置索引(不包含该位置的元素),默认为数组长度。
- 返回值:由提取的元素组成的新数组,原数组不变。
二、返回值类型与行为
| 参数情况 | 返回值类型 | 是否修改原数组 | 是否包含 end 索引的元素 |
| 无参数 | 新数组 | 否 | 否 |
| 仅 start | 新数组 | 否 | 否 |
| start 和 end | 新数组 | 否 | 否 |
| start > array.length | 空数组 | 否 | 否 |
| end > array.length | 提取到末尾 | 否 | 否 |
三、示例说明
```javascript
const arr = [1, 2, 3, 4, 5];
console.log(arr.slice());// [1, 2, 3, 4, 5
console.log(arr.slice(1)); // [2, 3, 4, 5
console.log(arr.slice(1, 3));// [2, 3
console.log(arr.slice(5)); // [
console.log(arr.slice(-2));// [4, 5](负数表示从后往前数)
```
四、注意事项
- `slice()` 不会改变原数组,适合用于创建数组的副本。
- 如果传入的参数是负数,表示从数组末尾向前计算索引。
- 若 `start > end`,则返回空数组。
通过合理使用 `array.slice()`,可以高效地操作数组内容,同时保持数据的原始性。


