在web前端開發(fā)過程中避免會遇到很多數(shù)組需要處理,經(jīng)常出現(xiàn)的問題就是數(shù)組去重,今天小千就來給大家介紹一下幾種常見的數(shù)組去重的方式,大家可以學(xué)習(xí)一下以備不時之需。
數(shù)組去重概念:去除數(shù)組中重復(fù)重新的值
方法一:循環(huán)遍歷截取
原理:通過每次循環(huán)遍歷比較當(dāng)前值在不在數(shù)組中,在就刪除當(dāng)前值并且索引減一,弊端,會改變原數(shù)組
方法二:借助indexOf()方法
原理:判斷此元素在該數(shù)組中首次出現(xiàn)的位置下標(biāo)與循環(huán)的下標(biāo)是否相等 與方法一類似
方法三:借助新數(shù)組和indexOf()方法
原理:通過indexOf方判斷當(dāng)前元素在數(shù)組中的索引如果與循環(huán)的下標(biāo)相等則添加到新數(shù)組中 原數(shù)組不變
方法四:借助空對象
原理:通過對象來記錄新數(shù)組中已存儲過的元素 不改變原數(shù)組 與方法三類似
方法五:filter方法
原理:查找當(dāng)前元素索引出現(xiàn)的位置是否與當(dāng)前元素索引值相等,是表示true返回 ,如果當(dāng)前元素索引不等與當(dāng)前索引,說明已經(jīng)出現(xiàn)過,出現(xiàn)過就不返回。 原數(shù)組不變
方法六:使用include方法
原理:與indexOf類似,判斷當(dāng)前元素是否存在,不存在就添加 不改變原數(shù)組
方法七:es6 新增數(shù)據(jù)結(jié)構(gòu) new Set()方法
原理:new Set() 的成員具有唯一性,不能重復(fù)
學(xué)習(xí)web前端,可以參考千鋒web前端培訓(xùn)班提供的web前端學(xué)習(xí)路線,該學(xué)習(xí)路線對從零基礎(chǔ)小白到web前端初級開發(fā)工程師,web前端高級開發(fā)工程師,后面的web前端大神級開發(fā)工程師都有一個明確清晰的指導(dǎo),根據(jù)千鋒web前端培訓(xùn)機(jī)構(gòu)提供的web前端學(xué)習(xí)路線圖可以讓你對學(xué)習(xí)web前端開發(fā)需要掌握的知識有個清晰的了解,并快速入門web前端開發(fā)。想要獲取前端完整學(xué)習(xí)路線和免費的學(xué)習(xí)資料可以添加我們的web前端技術(shù)分享交流qq群:857920838 加群找群管理領(lǐng)取即可,等你來哦~~