前端面试题整理——数组去重

    // 传统方式,遍历元素比较
    function unique(arr) {
        const res = []
        arr.forEach(item => {
            if (res.indexOf(item) < 0) {
                res.push(item)
            }
        })
        return res
    }

    console.log(unique([1,2,3,4,1,5,3,4,6,2,5,9,6]))

    // 使用es6:Set,Set是无序结构,不能重复
    function setArr(arr){
        const set = new Set(arr)
        return [...set]
    }

    console.log(setArr([1,2,3,4,1,5,3,4,6,2,5,9,6]))

    //对象键值对方式,因为对象键是不可重复的
    function objArr(arr){
        const obj = {}
        const result=[]
        arr.forEach(item=>{
            if(!obj[item]){
                obj[item]=item
                result.push(item)
            }
        })
        return result
    }
    console.log(objArr([1,2,3,4,1,5,3,4,6,2,5,9,6]))

考点:

1、去重的多种解决思路

放弃安逸,持续努力——成长
原文地址:https://www.cnblogs.com/MarsPGY/p/13460036.html