js截取数组:使用splice()和slice()方法
在 JavaScript 中,有两种常用的方法可以截取数组的部分元素:`splice()` 和 `slice()`。
1. 使用 `splice()` 方法截取数组:
`splice()` 方法用于从数组中删除、替换或插入元素,并返回被删除的元素组成的数组。当只需要截取数组的一部分时,可以使用 `splice()` 方法来实现。`splice()` 方法接受两个参数:起始索引和截取长度。
- 如果只指定起始索引,则会从该索引开始截取到数组末尾。
- 如果同时指定起始索引和截取长度,则会从起始索引开始截取指定长度的元素。
- `splice()` 方法会修改原始数组。
示例:
let arr = [1, 2, 3, 4, 5];
// 从索引 2 开始截取到末尾
let result1 = arr.splice(2);
console.log(result1); // 输出:[3, 4, 5]
console.log(arr); // 输出:[1, 2]
// 从索引 1 开始截取 3 个元素
let result2 = arr.splice(1, 3);
console.log(result2); // 输出:[2]
console.log(arr); // 输出:[1]
2. 使用 `slice()` 方法截取数组:
`slice()` 方法返回一个新数组,包含从原始数组中截取的指定部分元素,而不会修改原始数组。`slice()` 方法接受两个参数:起始索引和结束索引(不包含在截取结果中)。
- 如果只指定起始索引,则会从该索引开始截取到数组末尾。
- 如果同时指定起始索引和结束索引,则会截取从起始索引到结束索引之间的元素。
- `slice()` 方法不会修改原始数组。
示例:
let arr = [1, 2, 3, 4, 5];
// 从索引 2 开始截取到末尾
let result1 = arr.slice(2);
console.log(result1); // 输出:[3, 4, 5]
console.log(arr); // 输出:[1, 2, 3, 4, 5]
// 从索引 1 开始截取到索引 4(不包含索引 4)
let result2 = arr.slice(1, 4);
console.log(result2); // 输出:[2, 3, 4]
console.log(arr); // 输出:[1, 2, 3, 4, 5]
需要注意的是,`splice()` 方法会修改原始数组,而 `slice()` 方法则返回一个新的数组,不会修改原始数组。根据具体的需求和对原始数组的影响,选择适合的方法来截取数组的部分元素。