「面试」-数组去重

90 阅读1分钟

参考一些博客,整理出来,供自己复习使用~

这道面试题其实在我找实习的时候,有整理过一波,但是那时候整理的并不是很全面,现在看很多博客,又有了很多很方便的方法,所以再次整理出来~

CSDN上整理的三个办法

indexOf一

function unique(arr) {
    let res = []
    for (let i = 0; i < arr.length; i++) {
        if (res.indexOf(arr[i]) === -1) {
            res.push(arr[i])
        }
    }
    return res
}

indexOf二

function unique(arr) {
    return Array.prototype.filter.call(arr, function(item, index){
        return arr.indexOf(item) === index;
    });
}

set是一种单独的类型哦~需要转化成数组哒

set一

function unique(arr) {
    return [...new Set(arr)]
}

set二

function unique(arr) {
    return Array.from(new Set(arr))
}