JavaScript 删除数组指定元素的多种实现方案
本文详细解析在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移除数组指定元素内容请搜索本站历史文章或继续浏览下方的相关文章希望大家以后多多支持本站!
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
