如何实现数组去重?

943 阅读1分钟

如何实现数组去重? 假设有数组 array = [1,5,2,3,4,2,3,1,3,4] 你要写一个函数 unique,使得 unique(array) 的值为 [1,5,2,3,4] 也就是把重复的值都去掉,只保留不重复的值。

要求写出两个答案:

一个答案不使用 Set 实现

let array =[1,5,2,3,4,2,3,1,3,4]
function unique(arr) {
    let tmp = {};
    let ret = [];
    for (let i = 0, j = arr.length; i < j; i++) {
        if (!tmp[arr[i]]) {
            tmp[arr[i]] = 1;
            ret.push(arr[i]);
            }
        }
        console.log(ret)
    }

    console.log(unique(array))

另一个答案使用 Set

let array = [1,5,2,3,4,2,3,1,3,4]
function unique(arr){
    return Array.from(new Set(arr))
}
console.log(unique(array))