📜  数组删除元素 js - Javascript (1)

📅  最后修改于: 2023-12-03 14:55:00.287000             🧑  作者: Mango

数组删除元素 js - Javascript

对于Javascript中的数组,我们经常需要对其中的元素进行删除操作。本文介绍JavaScript中数组删除元素的各种方式。

splice方法

splice() 方法通过删除或替换现有元素来修改数组,并以修改后的数组返回被删除的元素。语法如下:

array.splice(start, deleteCount, item1, item2, ...)
  • start:指定从哪个索引位置开始修改,若是负数,则倒数起算。
  • deleteCount:要删除的元素个数,可选参数。如果该参数为0,则不删除任何元素。
  • item1,item2:可选参数,是要添加到数组中的新元素 ,从start位置开始插入。

示例代码:

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方法

pop() 方法会删除数组的最后一个元素,并返回删除的元素。语法如下:

array.pop()

示例代码:

var myArray = ['apple', 'banana', 'orange', 'melon'];

//删除最后一个元素
var deleted = myArray.pop();

console.log(myArray); // ['apple', 'banana', 'orange']
console.log(deleted); // 'melon'
shift方法

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 操作符用来删除对象的属性或数组中指定的元素。但是,这种方法不会修改数组的长度,也不会对数组进行重新排序。语法如下:

delete array[index];

示例代码:

var myArray = ['apple', 'banana', 'orange', 'melon'];

//删除第三个元素,即orange
delete myArray[2];

console.log(myArray); // ['apple', 'banana', undefined, 'melon']

注意:使用 delete 删除数组元素后,数组的 length 属性不会发生变化。

filter方法

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 中数组删除元素的几种方式,根据不同的情况选择不同的方法进行操作,可以有效地提高代码的效率和可读性。