admin 管理员组文章数量: 1184232
2024年3月30日发(作者:osi七层网络模型详解)
对象数组去重_JS数组去重的三种方法
一、利用ES6的set数据结构去重
(1)Set结构不会添加重复的值,可以将数组的所有元素添加到Set
中,然后用(将其转换成数组,就可以得到一个不重复的数组
了。这个操作不需要for循环,比较高效。
代码实现:
```
let arr = [1,1,2,2,3,4,5]
let newArr = (new Set(arr))
(newArr) // [1,2,3,4,5]
```
(2)set结构也可以用于对象数组的去重,但是由于对象的比较不
是基于值的比较,而是基于引用的比较,如果直接添加数组到set结构中,
得到的结果是不正确的,所以对于对象数组的去重,可以使用数组的
map(方法和set结构,通过map方法将每个元素映射成一个字符串,然后
将字符串添加到set结构中,就可以实现对象数组的去重了。
代码实现:
```
let objArr = [{name: 'zhangsan',age: 25},{name: 'lisi', age:
25},{name: 'zhangsan', age: 18}]
let newObjArr = (new Set((item =>
ify(item))))
newObjArr = (item => (item))
(newObjArr) // [{name: 'zhangsan',age: 25},{name:
'lisi', age: 25},{name: 'zhangsan', age: 18}]
```
二、使用indexOf,filter进行去重
(1)使用indexOf方法,在数组中指定元素,如果存在返回元素的
索引,如果不存在返回-1,可以通过indexOf数组中指定元素是否存在,
如果不存在则存入新数组中,最后得到一个没有重复元素的数组。
代码实现:
```
let arr = [1,2,1,2,3,4,5]
let newArr = []
h(item =>
if (f(item) === -1)
版权声明:本文标题:对象数组去重_JS数组去重的三种方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1711731263a607944.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论