JavaScript 删除数组指定元素的多种实现方案

作者:拾光

时间:2026-10-26

浏览:517

本文详细解析在JavaScript中删除数组指定元素的几种常用方法,包括使用shift和pop处理首尾元素,利用splice进行索引或值删除,以及通过filter、for循环和Set集合实现更灵活的过滤逻辑。文章对比了各方法对原数组的影响及返回值差异,帮助开发者根据实际需求选择最优方案。

文章目录

JavaScript移除数组单个或多个元素的多重实现路径

一、移除首项操作

1、shift() 函数旨在从数组首部剔除首个成员,并回传该成员的值。

注意: 此操作会修改原数组的长度属性!

提示: 若要移除尾部成员,可调用 pop() 函数。

let arr = [1,2,3,4,5]
arr.shift()  // 1
// arr => [2,3,4,5]

2、slice() 函数可从现有数组中截取并返回指定范围的成员。

slice() 函数亦可提取字符串片段,并生成包含该片段的新字符串。

注意: slice() 函数不会修改原始数组对象。

let arr = [1,2,3,4,5]
let newArr = arr.slice(1)
// arr => [1,2,3,4,5]
// newArr => [2,3,4,5]

3、splice() 函数用于在数组中执行添加或删除操作。

注意:此操作会修改原始数组。

返回值

若执行单元素删除,则返回包含该元素的数组。 若未执行删除,则返回空数组。

let arr = [1,2,3,4,5]
let newArr = arr.splice(0, 1)
// arr => [2,3,4,5]
// newArr => [1]

二、移除末项操作

1、pop() 函数旨在移除数组尾部成员并回传被移除的成员。

注意:此操作会修改原数组的长度属性!

提示: 若要移除首部成员,请使用 shift() 函数。

let arr = [1,2,3,4,5]
arr.pop() //  5
// arr => [1,2,3,4]

2、slice() 函数

let arr = [1,2,3,4,5]
let newArr = arr.slice(0, arr.length - 1)
// arr => [1,2,3,4,5]
// newArr => [1,2,3,4]

3、 splice() 函数用于在数组中执行添加或删除操作。

let arr = [1,2,3,4,5]
let newArr = arr.splice(arr.length - 1, 1)
// arr => [1,2,3,4]
// newArr => [5]

三、移除指定索引位置的成员

1、splice 删除

let index = 3
let arr = [1,2,3,4,5]
 arr.splice(index, 1) // [4]
// arr => [1,2,3,5]

2、for循环删除

let index = 3, // 删除的id
    arr = [1,2,3,4,5],
    arrLen = arr.length,
    newArr = [];
 
for (let i = 0; i < arrLen; i++) {
    if (i !== index) {
        newArr.push(arr[i])
    }
}
 
// arr => [1,2,3,4,5]
// newArr => [1,2,3,5]

3、delete删除

JavaScript语言提供了delete关键字以执行(清除)数组成员操作。

需注意的是,使用delete移除成员后数组长度保持恒定,仅被移除的成员被置为empty状态。

let index = 3
let arr = [1,2,3,4,5]
delete arr[index] 
// arr  = > [1, 2, 3, empty, 5]

四、移除指定值的成员

1、splice 删除

let value = 'b',
    arr = ['a','b','c','d']
 
arr.splice(arr.indexOf(value), 1) // ['b']
// arr => ['a','c','d']

2、filter 删除

var arr = ['a','b','c','d'],
    value = 'b'
 
arr = arr.filter(item => item != value)
// arr => ['a','c','d']

3、for 删除

let value = 'b',
    arr = ['a','b','c','d'],
    arrLen = arr.length,
    newArr = []
 
for (let i = 0; i < arrLen; i++) {
    if (arr[i] !== value) {
        newArr.push(arr[i])
    }
}
 
// 其他forEach、map、for of循环同理

4、Set 删除

let arr = ['a','b','c','d'],
    value = 'b'
let newSet = new Set(arr)
newSet.delete(value)
let newArr = [...newSet]
// newArr => ['a','c','d']

总结

至此关于js移除数组指定元素的文章介绍完毕,更多相关js移除数组指定元素内容请搜索本站历史文章或继续浏览下方的相关文章希望大家以后多多支持本站!

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章