1. 程式人生 > 其它 >一句話js陣列去重【ES6】【伸手黨福利】

一句話js陣列去重【ES6】【伸手黨福利】

技術標籤:js

方法1

function unique(arr) {
    const res = new Map();
    return arr.filter((a) => !res.has(a) && res.set(a, 1))
}

方法1 分析

function unique(arr) {
    //定義常量 res,值為一個Map物件例項
    const res = new Map();
    
    //返回arr陣列過濾後的結果,結果為一個數組
    //過濾條件是,如果res中沒有某個鍵,就設定這個鍵的值為1
    return arr.filter
((a) => !res.has(a) && res.set(a, 1)) }

具體分析:https://www.cnblogs.com/zhishaofei/p/9036943.html

方法2:

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

方法2 分析

function unique(arr) {
    //通過Set物件,對陣列去重,結果又返回一個Set物件
    //通過from方法,將Set物件轉為陣列
    return Array.from(new Set(arr))
}

具體分析:https://www.cnblogs.com/zhishaofei/p/9036943.html

方法3

[...new Set(arr)] 

效果及原理同方法2:
在這裡插入圖片描述
具體分析:https://www.cnblogs.com/zhishaofei/p/9036943.html