📅  最后修改于: 2023-12-03 14:55:00.287000             🧑  作者: Mango
对于Javascript中的数组,我们经常需要对其中的元素进行删除操作。本文介绍JavaScript中数组删除元素的各种方式。
splice() 方法通过删除或替换现有元素来修改数组,并以修改后的数组返回被删除的元素。语法如下:
array.splice(start, deleteCount, item1, item2, ...)
示例代码:
var myArray = ['apple', 'banana', 'orange', 'melon'];
var start = 1;
var deleteCount = 2;
//删除orange和melon
var deleted = myArray.splice(start, deleteCount);
console.log(myArray); // ['apple', 'melon']
console.log(deleted); // ['banana', 'orange']
pop()
方法会删除数组的最后一个元素,并返回删除的元素。语法如下:
array.pop()
示例代码:
var myArray = ['apple', 'banana', 'orange', 'melon'];
//删除最后一个元素
var deleted = myArray.pop();
console.log(myArray); // ['apple', 'banana', 'orange']
console.log(deleted); // 'melon'
shift()
方法会删除数组的第一个元素,并返回删除的元素。语法如下:
array.shift()
示例代码:
var myArray = ['apple', 'banana', 'orange', 'melon'];
//删除第一个元素
var deleted = myArray.shift();
console.log(myArray); // ['banana', 'orange', 'melon']
console.log(deleted); // 'apple'
delete 操作符用来删除对象的属性或数组中指定的元素。但是,这种方法不会修改数组的长度,也不会对数组进行重新排序。语法如下:
delete array[index];
示例代码:
var myArray = ['apple', 'banana', 'orange', 'melon'];
//删除第三个元素,即orange
delete myArray[2];
console.log(myArray); // ['apple', 'banana', undefined, 'melon']
注意:使用 delete 删除数组元素后,数组的 length 属性不会发生变化。
filter()
方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。语法如下:
array.filter(function(item, index, array){
//返回true保留元素,返回false删除元素
}, thisArg)
示例代码:
var myArray = [1, 2, 3, 4, 5];
//删除所有偶数
var newArray = myArray.filter(function(item){
return item % 2 !== 0;
});
console.log(newArray); // [1, 3, 5]
以上是 JavaScript 中数组删除元素的几种方式,根据不同的情况选择不同的方法进行操作,可以有效地提高代码的效率和可读性。