阅读 71

数组去重方法集合

常用方法如下:

function uniqueArr(arr) {     return [...new Set(arr)] } 复制代码

这里我们创建一个实例数组来做测试如下:

let arr = [1,1,"1","1",true,true,"true",{},{},"{}",null,null,undefined,undefined] 复制代码

function one

let uniqueOne = Array.from(new Set(arr)) console.log(uniqueOne) 复制代码

function two

let uniqueTwo = arr => {     let map = new Map(); //或者用空对象 let obj = {} 利用对象属性不能重复得特性     let brr = []     arr.forEach( item => {         if(!map.has(item)) { //如果是对象得话就判断 !obj[item]             map.set(item,true) //如果是对象得话就obj[item] =true 其他一样             brr.push(item)         }     })     return brr } console.log(uniqueTwo(arr)) 复制代码

function three

let uniqueThree = arr => {     let brr = []     arr.forEach(item => {         // 使用indexOf 返回数组是否包含某个值 没有就返回-1 有就返回下标         if(brr.indexOf(item) === -1) brr.push(item)         // 或者使用includes 返回数组是否包含某个值 没有就返回false 有就返回true         if(!brr.includes(item)) brr.push(item)     })     return brr } console.log(uniqueThree(arr)) 复制代码

function four

let uniqueFour = arr => {                                               // 使用 filter 返回符合条件的集合     let brr = arr.filter((item,index) => {         return arr.indexOf(item) === index     })     return brr } console.log(uniqueFour(arr))


作者:villay
链接:https://juejin.cn/post/7028088829487628324


文章分类
代码人生
文章标签
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐