js实现数组删除
删除数组元素的几种方法
使用 splice() 方法
splice() 方法可以删除数组中的元素,并返回被删除的元素。该方法会改变原数组。
let arr = [1, 2, 3, 4, 5];
arr.splice(2, 1); // 从索引2开始删除1个元素
console.log(arr); // [1, 2, 4, 5]
使用 pop() 方法
pop() 方法删除数组的最后一个元素,并返回该元素。
let arr = [1, 2, 3, 4, 5];
arr.pop(); // 删除最后一个元素
console.log(arr); // [1, 2, 3, 4]
使用 shift() 方法
shift() 方法删除数组的第一个元素,并返回该元素。
let arr = [1, 2, 3, 4, 5];
arr.shift(); // 删除第一个元素
console.log(arr); // [2, 3, 4, 5]
使用 delete 操作符
delete 操作符可以删除数组中的元素,但不会改变数组的长度,被删除的元素会变成 undefined。
let arr = [1, 2, 3, 4, 5];
delete arr[2]; // 删除索引为2的元素
console.log(arr); // [1, 2, empty, 4, 5]
使用 filter() 方法
filter() 方法创建一个新数组,包含通过测试的元素,不会改变原数组。
let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter(item => item !== 3); // 删除值为3的元素
console.log(newArr); // [1, 2, 4, 5]
使用 slice() 方法
slice() 方法返回一个新的数组对象,不会改变原数组。
let arr = [1, 2, 3, 4, 5];
let newArr = arr.slice(0, 2).concat(arr.slice(3)); // 删除索引为2的元素
console.log(newArr); // [1, 2, 4, 5]
使用 length 属性
通过修改数组的 length 属性可以删除数组末尾的元素。
let arr = [1, 2, 3, 4, 5];
arr.length = 3; // 删除最后两个元素
console.log(arr); // [1, 2, 3]
使用 for 循环
通过 for 循环可以手动删除数组中的元素。
let arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
if (arr[i] === 3) {
arr.splice(i, 1); // 删除值为3的元素
i--; // 调整索引
}
}
console.log(arr); // [1, 2, 4, 5]
使用 reduce() 方法
reduce() 方法可以用于删除数组中的特定元素。
let arr = [1, 2, 3, 4, 5];
let newArr = arr.reduce((acc, val) => {
if (val !== 3) acc.push(val);
return acc;
}, []);
console.log(newArr); // [1, 2, 4, 5]






