📅  最后修改于: 2023-12-03 15:07:15.334000             🧑  作者: Mango
Javascript中的数组元素可以通过下标访问和修改,但有时需要从数组中删除元素。以下是几种常见的删除数组元素的方法:
splice() 方法用于向/从数组中添加/删除项目,然后返回被删除的项目。它可以接受多个参数,其中第一个参数指定要删除的起始索引,第二个参数指定要删除的元素个数,如果删除元素个数为0,则splice()方法可以用来插入一个或多个元素。
//从数组中删除一个元素
let arr = [1, 2, 3, 4, 5];
arr.splice(2, 1); //删除第三个元素(即元素3)
console.log(arr); //[1, 2, 4, 5]
//从数组中删除多个元素
let arr2 = [1, 2, 3, 4, 5];
arr2.splice(1, 2); //从第二个元素开始连续删除两个元素(即元素2,3)
console.log(arr2); //[1,4,5]
//向数组中插入一个元素
let arr3 = [1, 2, 3, 4, 5];
arr3.splice(2, 0, "a"); //在第三个元素(即元素3)之前插入元素"a"
console.log(arr3); //[1,2,"a",3,4,5]
//向数组中插入多个元素
let arr4 = [1, 2, 3, 4, 5];
arr4.splice(2, 0, "a", "b"); //在第三个元素(即元素3)之前插入元素"a","b"
console.log(arr4); //[1,2,"a","b",3,4,5]
delete 关键字可以用来删除对象的属性,包括数组的元素,但它不改变数组的length属性,删除元素后留下一个undefined元素。
let arr = [1, 2, 3, 4, 5];
delete arr[2]; //删除索引为2的元素(即元素3)
console.log(arr); //[1, 2, undefined, 4, 5]
console.log(arr.length); //5
filter()方法用于筛选出满足条件的元素,并将它们放在一个新数组中返回,不影响原数组。
let arr = [1, 2, 3, 4, 5];
arr = arr.filter((item) => item !== 3); //剔除所有值为3的元素
console.log(arr); //[1, 2, 4, 5]
pop()方法用于删除数组的最后一个元素,shift()方法用于删除数组的第一个元素,它们都会改变数组的长度。
let arr = [1, 2, 3, 4, 5];
arr.pop(); //删除最后一个元素(即元素5)
console.log(arr); //[1, 2, 3, 4]
let arr2 = [1, 2, 3, 4, 5];
arr2.shift(); //删除第一个元素(即元素1)
console.log(arr2); //[2, 3, 4, 5]
以上就是常见的一些删除Javascript数组元素的方法,不同的场景下可以选择不同的方法。