在 JavaScript 中,没有像 Java 的 ArrayList 中的 remove
方法那样直接删除指定元素的方法,删除指定下标的数组元素可以通过几种方式实现
方法一:使用 splice()
方法
splice()
方法可以在数组中添加或删除元素,并返回被删除的元素。
let arr = [1, 2, 3, 4, 5];
let indexToRemove = 2; // 要删除的元素的索引
arr.splice(indexToRemove, 1);
// 参数1:起始位置(索引)
// 参数2:要删除的元素个数
console.log(arr); // [1, 2, 4, 5]
通过组合使用 indexOf
和 splice
方法来实现直接删除指定元素
方法二:使用 filter()
方法
filter()方法不会对原数组进行修改,因此根据情况是否创建新数组或是覆盖原数组的值
let arr = [1, 2, 3, 4, 5];
let indexToRemove = 2; // 要删除的元素的索引
let newArr = arr.filter((_, index) => index !== indexToRemove);
console.log(newArr); // [1, 2, 4, 5]
方法三:直接赋值为 undefined
或 null
这种方法仅适用于简单的删除操作,而不会改变数组的长度或结构且会保留原始顺序
let arr = [1, 2, 3, 4, 5];
let indexToRemove = 2; // 要删除的元素的索引
arr[indexToRemove] = undefined;
console.log(arr); // [1, 2, undefined, 4, 5]