給定一個陣列,你該如何將其中的重複值移除?
假設你有一個包含一系列基本值的陣列,例如數字或字串。
其中一些元素是重複的。
就像這個例子中:
const list = [1, 2, 3, 4, 4, 3]
我們可以使用以下方式產生一個新的陣列,其中不包含重複的值:
const uniqueList = [...new Set(list)]
現在,uniqueList
將成為一個新的陣列,其中包含值 [1, 2, 3, 4]
。
這是如何運作的呢?
Set
是一種新的資料結構,在 ES6 中的 2015 年被引入,它的主要特點是能夠在同一個集合中不能重複儲存資料。請參考我關於 Set 的完整指南。
通過使用解構陣列的方式初始化一個 Set(請看到 ...
操作符在 new Set()
前面),我們將值傳入 Set 中,Set 會自動移除重複的值。然後我們將其轉換為一個陣列,使用方括號 []
包裹起來。