数组对象去重

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组对象去重相关的知识,希望对你有一定的参考价值。

参考技术A 1.Set

set是ES6中引入的新的数据类型。set只允许存储不重复的值,所以当你放入一个数组,它会自动去掉重复的值。

当然,你也可以使用Array.form来将set转回数组

2.map

3.Filter

先说说这两个方法:indexOf()和filter()
-indexOf
从一个数组中返回给定元素第一次出现的索引

-filter
filter()方法通过给定的条件(一个函数)来返回一个新的数组。换句话说,如果轮到的这个元素进入了条件函数后结果为true,那么它将被加入到过滤后的新数组中,反之则不会加入到结果数组中。

重复的元素就是那些index和indexOf不同的元素,说的再简单点,就是所有重复元素只取第一次出现的那个,后来出现的丢弃。

那如何得到重复的元素呢?将上面的条件反一反就可以啦

4.Reduce
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce用来检查最终结果是否已经包含这个item。如果不包含,那么将它放入最终结果,如果已经包含,则丢弃(或者说跳过)这个item。

5.利用for嵌套for,然后splice去重

1.利用对象访问属性的方法,判断对象中是否存在key

2.reduce

3.map

以上是关于数组对象去重的主要内容,如果未能解决你的问题,请参考以下文章

Java爬爬之网页去重和代理ip

ES6 数组内对象去重

数组对象去重

怎么对数组中的对象去重

(去重)JS比较两个数组对象,取出不同的值

es 数组去重,数组里面的对象去重