在前端開發中,常常要遇到去除數組中重複數據的問題,即所謂的數組去重。社區中有不少解決的辦法,好比雙層for
循環、indexOf + filter
、Set
等,有的還會考慮{}
,[]
、NaN
是否重複,以及幾千萬條數據去重而致使的性能問題,但以實際業務開發場景來看,咱們遇到的大多數狀況是如何去除同一類型、數據量不大的重複數據,因此本文從業務場景角度出發,只列舉出幾種經常使用、簡單的數組去重辦法,若是你有更好的思路,歡迎留言區拍板。前端
顧名思義,數組裏面的項再也不是基本類型,在實際業務開發場景中,咱們須要根據對象指定的屬性去除重複的項。數組
Map
的鍵不可重複下圖是QQ
音樂的搜索歷史列表,每當用戶輸入一個新的關鍵詞,便會把它添加到歷史列表的首位,若是出現了重複,須要刪除掉舊的那一項。實際上這裏也是數組對象去重的問題,解決思路很簡單,直接過濾掉舊的重複項,把新的一項添加到首位便可。 性能