js簡單數組與對象數組的去重處理


const res = new Map();

const newList = defaultRes.filter((arr:any) => !res.has(arr.dataIndex) && res.set(arr.dataIndex, 1))

  

△ 例1.使用Map去重了對象數組中dataIndex重復的數據

 

-------------------------------------------------------------------------

 

 

 △ 例2.使用Set去重了簡單的數組中重復的數據

 

先copy一下Map的的介紹:Map是一組鍵值對的結構,具有極快的查找速度。

具體是這樣的形式:

 

 

 

 

 

 ps:一個key只能對應一個value,重新存入value會覆蓋之前的值。

 

Map的方法:

var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value
m.has('Adam'); // 是否存在key 'Adam': true
m.get('Adam'); // 67
m.delete('Adam'); // 刪除key 'Adam'
m.get('Adam'); // undefined

  

因此 例1的思路可以清楚地描述出來:篩選出defaultRes里dataIndax不存在的項且存入 =>返回新的去重好的對象數組。

 

第一次用Map,真好用!!!

 

而為什么不用Set處理對象數組呢?是因為:

 

SetMap類似,也是一組key的集合,但不存儲value。由於key不能重復,所以,在Set中,沒有重復的key。

 

在使用Set的過程中,重復的元素會自動被過濾掉,就算用add方法添加,也不會重復存入值:

 

 

 

OK!今天也是溫故知新、充滿收獲的一天呢!(雖然是很基礎的東西,嘻嘻)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM