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處理對象數組呢?是因為:
Set和Map類似,也是一組key的集合,但不存儲value。由於key不能重復,所以,在Set中,沒有重復的key。
在使用Set的過程中,重復的元素會自動被過濾掉,就算用add方法添加,也不會重復存入值:

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