1、splice
Array.prototype.splice 是 JavaScript 中一个非常强大的数组方法,它可以用来删除、替换或者添加数组元素。让我们详细了解 splice 方法的各种用法,并通过一些示例来展示其使用。
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
// start:指定修改的开始位置(从 0 开始计数)。
// 如果 `start` 大于数组长度,则从数组末尾开始添加内容。如果是负数,则表示从末尾开始计算的位置。
// deleteCount:可选。
// 表示要删除的数组元素的个数。应该是一个非负整数。如果省略,则删除从 start 开始到数组结尾的所有元素。
// item1, item2, ... :可选。
// 要添加进数组的元素。如果未指定,则只删除元素。
2、删除元素
let arr = [1, 2, 3, 4, 5];
// 从索引位置 2 开始删除 2 个元素
let removed = arr.splice(2, 2);
console.log(arr); // 输出: [1, 2, 5]
console.log(removed); // 输出: [3, 4]
3、替换元素
let arr = [1, 2, 3, 4, 5];
// 从索引位置 2 开始,删除 1 个元素,然后添加 6 和 7
arr.splice(2, 1, 6, 7);
console.log(arr); // 输出: [1, 2, 6, 7, 4, 5]
4、添加元素
let arr = [1, 2, 3, 4, 5];
// 在索引位置 2 开始,不删除任何元素,插入 6 和 7
arr.splice(2, 0, 6, 7);
console.log(arr); // 输出: [1, 2, 6, 7, 3, 4, 5]
5、删除所有元素
let arr = [1, 2, 3, 4, 5];
// 从索引位置 2 开始,删除所有后续元素
arr.splice(2);
console.log(arr); // 输出: [1, 2]
6、处理负数索引
let arr = [1, 2, 3, 4, 5];
// 从索引位置 -2(倒数第二个元素)开始,删除 1 个元素
arr.splice(-2, 1);
console.log(arr); // 输出: [1, 2, 3, 5]
7、替换数组中的每一个元素
let arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
arr.splice(i, 1, arr[i] * 2);
}
console.log(arr); // 输出: [2, 4, 6, 8, 10]
8、在数组中插入另一数组元素
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
// 在 arr1 索引位置 1 插入 arr2 的所有元素
arr1.splice.apply(arr1, [1, 0].concat(arr2));
console.log(arr1); // 输出: [1, 4, 5, 6, 2, 3]