超方便的数组去重

xiaoxiao2021-02-28  149

以前一般用的给对象加属性或者用indexof这两种方法去重

1. Set方法(es6)

摘自廖雪峰老师的教程下的一篇评论

原理: es6里引入了新的数据类型Map和Set,一眼看到Set就觉得它自动去掉重复的key这个特性很适合做数组去重,评论果然有人和我一样想的。 Array.from():作用是将类数组对象转换为数组对象,还有这种操作?!!

'use strict'; var arr = [1,2,1,2,2,1]; //new Set 数组去重 function unique(arr){ return Array.from(new Set(arr)); }; //更简单的语句 [...(new Set([1, 2, 2, 3]))]; //一句完成了去重并转换为数组了

2. filter()方法

原理:filter()方法根据返回值来确认是否抛弃元素。而对于数组重复项,indexOf()方法只会返回第一个匹配到的元素的index,当筛选到重复项时,当前重复项的id自然不等于indexOf的返回值

arr.filter(function(element,index,array){ return array.indexOf(element) === index; })
转载请注明原文地址: https://www.6miu.com/read-49888.html

最新回复(0)