JS 删除数组中的某一项

在开发中,经常会遇到需要删除数组中的某一项元素的情况。JavaScript提供了多种方法来实现这个需求,本文将详细介绍几种常用的方式来删除数组中的某一项。
使用splice方法
splice 是 JavaScript 数组对象的方法,它可以实现对数组的增加、删除和替换。我们可以利用 splice 方法来删除数组中的某一项元素。
语法
array.splice(start, deleteCount, item1, item2, ...)
start: 指定开始删除的位置deleteCount: 指定要删除的元素个数item1, item2, ...: 要替换删除元素的元素(可选)
示例
let arr = [1, 2, 3, 4, 5];
arr.splice(2, 1);
console.log(arr); // [1, 2, 4, 5]
在上面的示例中,我们删除了数组 arr 中索引为 2 的元素,即删除了值为 3 的元素。
使用filter方法
filter 方法是 JavaScript 数组对象的方法,用于创建一个新数组,其中包含通过指定函数实现的测试的所有元素。
语法
array.filter(function(currentValue, index, arr), thisValue)
function(currentValue, index, arr): 必须。函数,用于测试每个元素的函数,函数返回true表示元素将保留,返回false表示元素将被删除。thisValue: 可选。对象,传递给函数的值列表。
示例
let arr = [1, 2, 3, 4, 5];
let newArr = arr.filter(item => item !== 3);
console.log(newArr); // [1, 2, 4, 5]
在上面的示例中,我们使用 filter 方法过滤掉值为 3 的元素,得到新的数组 newArr。
使用slice和concat方法
slice 方法用于选取数组的某个子数组,然后通过 concat 方法将两个子数组拼接在一起,从而删除数组中的某一项。
示例
let arr = [1, 2, 3, 4, 5];
let newArr = arr.slice(0, 2).concat(arr.slice(3));
console.log(newArr); // [1, 2, 4, 5]
在上面的示例中,我们先使用 slice 方法选取索引为 0 到 2 的子数组和索引为 3 到最后一个元素的子数组,然后通过 concat 方法将两个子数组拼接在一起,得到新的数组 newArr。
使用pop和shift方法
pop 方法用于删除并返回数组的最后一个元素,shift 方法用于删除并返回数组的第一个元素,通过这两个方法可以删除数组中的某一项。
示例
let arr = [1, 2, 3, 4, 5];
arr.pop();
arr.shift();
console.log(arr); // [2, 3, 4]
在上面的示例中,我们分别使用 pop 和 shift 方法删除了数组 arr 中的最后一个元素和第一个元素,从而实现了删除数组中的第一项和最后一项。
使用delete关键字
delete 关键字可以用来删除对象的某个属性。在 JavaScript 中,数组也是一种特殊的对象,因此我们可以使用 delete 关键字删除数组的某个元素。
示例
let arr = [1, 2, 3, 4, 5];
delete arr[2];
console.log(arr); // [1, 2, <1 empty item>, 4, 5]
在上面的示例中,我们使用 delete 关键字删除了数组 arr 中索引为 2 的元素,但是被删除的元素仍然会留下一个空位。因此,不推荐使用 delete 关键字来删除数组中的元素。
总结
本文介绍了几种常用的方法来删除 JavaScript 数组中的某一项元素,包括使用 splice 方法、filter 方法、slice 和 concat 方法、pop 和 shift 方法以及 delete 关键字。在实际开发中,可以根据具体情况选择合适的方法来删除数组中的某一项元素。
极客笔记