js删除数组中指定元素的几种方式
作者:zhangwenok 时间:2024-04-10 10:50:48
js删除数组中某一项或几项的几种方法
一、删除第一个元素
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']
来源:https://blog.csdn.net/zhangwenok/article/details/127213781
标签:删除,数组,元素
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
ASP隐藏真实文件的下载功能实现代码
2011-04-14 11:12:00
Web开发技术发展史话
2011-04-25 19:16:00
MySQL8设置自动创建时间和自动更新时间的实现方法
2024-01-17 08:02:44
Django使用unittest模块进行单元测试过程解析
2021-04-03 13:09:08
JavaScript中 this 指向问题深度解析
2024-05-03 15:04:14
解决python中os.system调用exe文件的问题
2023-11-29 14:46:13
![](https://img.aspxhome.com/file/2023/0/63190_0s.png)
oracle用户权限管理使用详解
2024-01-17 13:06:58
python3字符串操作总结
2023-08-23 22:31:23
python数据分析实战指南之异常值处理
2023-04-19 21:02:18
![](https://img.aspxhome.com/file/2023/9/123479_0s.png)
Python安全获取域管理员权限几种方式操作示例
2022-10-04 01:14:15
![](https://img.aspxhome.com/file/2023/6/89236_0s.png)
vscode配置anaconda3的方法步骤
2023-11-05 16:45:02
![](https://img.aspxhome.com/file/2023/3/114613_0s.png)
教你如何使用Conda命令 + 安装tensorflow
2021-09-17 22:32:07
![](https://img.aspxhome.com/file/2023/8/85338_0s.jpg)
一文带你学会Python Flask框架设置响应头
2023-04-16 03:11:37
![](https://img.aspxhome.com/file/2023/0/134860_0s.png)
详解Python中__str__和__repr__方法的区别
2023-02-28 17:29:17
numpy创建单位矩阵和对角矩阵的实例
2023-08-05 10:25:44
pytorch DataLoaderj基本使用方法详解
2023-06-21 06:26:37
Python中用字符串调用函数或方法示例代码
2023-03-05 15:37:59
django中使用Celery 布式任务队列过程详解
2022-07-08 02:25:55
![](https://img.aspxhome.com/file/2023/9/112139_0s.png)
如何利用SysOjects来获知数据库的信息?
2010-01-01 15:43:00
浅析Golang中字符串拼接问题
2024-04-28 09:17:07
![](https://img.aspxhome.com/file/2023/6/134006_0s.png)