0

JS数据去重的方法至少有五六种,只是时间复杂度和空间复杂度都不尽人意,有没有比较高效的数组去重的方法?

Suzy 64
2017-08-30 提问

查看全部 7 个回答

0

你都知道5 6种方法了。。。

我只知道3种。。。

不过我觉得有一种是比较巧妙的:
先创建一个对象,然后遍历一次数组,把数组的元素的值作为对象的属性名,并且设置值为true

比方
var arr = [1, 3, 3, 1, 5, 2, 1]
你可以得到这样的一个对象
a = { "1": true, "3": true, "5": true, "2": true }
然后你再把对象转变成一个新数组

如果在数组元素较多的情况下,这种方法循环的次数应该是最少的吧

推荐答案

13

用es6的Set对象呗

var arr = [1,2,3,3,4,5,5];
var set = new Set(arr);
var newArr = Array.from(set);

推广链接