数据处理 | 数组去重(13种)
灵魂拷问:数组去重的方式你知道多少呢?
方式1:遍历 + indexOf
1 | function fn(arr) { |
方式2: 遍历 + findIndex
1 | function fn(arr) { |
方式3: 遍历 + find
1 | function fn(arr) { |
方式4: 遍历 + includes
1 | function fn(arr) { |
方式5:forEach
+ 重复方式1234
1 | function fn(arr) { |
方式6:reduce
+ concat
或者扩展运算符合并数组+重复方式1234
1 | function fn(arr) { |
方式7: filter
+ indexOf
利用indexOf
是返回第一个搜索到的index
,来过滤非第一个搜索到的index
的元素
1 | function fn(arr) { |
方式8: Set
+ 扩展运算符
最快的方式,一行搞定
利用:
- Set()中没有重复元素
- 扩展运算符:任何定义了遍历器接口的对象,都可以用扩展运算符转为数组
1 | function fn(arr) { |
方式9: Map
+ keys()
+ 扩展运算符
1 | function fn(arr) { |
方式10:嵌套循环 + splice
去重
1 | function fn(arr) { |
方式11:sort()
+ 嵌套循环
1 | function fn(arr) { |
方式12:hasOwnProperty
1 | function fn(arr) { |
方式13: 递归去重
1 | function fn(arr) { |