JavaScript的数组中默认不支持删除指定元素的操作,如
let book_id = [1,2,3,4]
book_id.delete(4) //错误,JS数组没有该方法
因此,解决的办法有
- 使用集合Set
ES6中新加入了集合类型Set(),因为集合本身支持add(),delete(),remove(),forEach()等操作,因此可以直接将Array()转化为Set()
let book_id = new Set([1,2,3,4])
book_id.delete(4)
console.log(book_id) //Set { 1, 2, 3 }
但要注意到,Set()本身的限制
Set是一种无重复值的有序列表,允许对它包含的数据进行快速访问,从而增加了一个追踪离散值的更有效方式
因此,如果本身要操作的数据不符合Set()的要求,则要用到ES5原生方法
- 使用indexOf()
其实是通过indexOf()找到要删除元素在数组中的索引,然后用splice()删除
let book_name = ['1984','动物庄园','乌合之众']
let i = book_name.indexOf('动物庄园')
book_name.splice(i,1)
console.log(book_name) //[ '1984', '乌合之众' ]
搞定!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。