JavaScript數(shù)組去重的幾種方法詳談
更新時間:2021年10月24日 17:09:08 作者:Maple-Ning
這篇文章給大家總結下JavaScript數(shù)組去重的幾種方法,面試中也經(jīng)常會遇到這個問題。文中給大家引申的還有合并數(shù)組并去重的方法,感興趣的朋友跟隨腳本之家小編一起學習吧
一、Set去重
function funSet(arr){ return Array.from(new Set(arr)); }
二、雙重for循環(huán)去重
function funFor(arr){ for(let i=0,len=arr.length;i<len;i++){ for(let j=i+1,len=arr.length;j<len;j++){ if(arr[i]===arr[j]){ arr.splice(j,1); len--; j--; } } } return arr; }
三、利用indexOf去重
function funIndex(arr){ let newArr=[]; for(let i=0;i<arr.length;i++){ if(newArr.indexOf(arr[i])===-1){ newArr.push(arr[i]) } } return newArr; }
四、利用icludes去重
function funInclude(arr){ let newArr=[]; for(let i=0;i<arr.length;i++){ if(!newArr.includes(arr[i])){ newArr.push(arr[i]) } } return newArr; }
五、filter
function funFilter(arr){ return arr.filter(function(item,index){ return arr.indexOf(item,0)===index; }) }
六、Map
function funMap(arr){ let map=new Map(); let newArr=[]; for(let i=0,len=arr.length;i<len;i++){ if(map.has(arr[i])){ map.set(arr[i],true); }else{ map.set(arr[i],false); newArr.push(arr[i]); } } return newArr; }
總結
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
網(wǎng)頁自動刷新,不產(chǎn)生嗒嗒聲的一個解決方法
網(wǎng)頁自動刷新,不產(chǎn)生嗒嗒聲的一個解決方法...2007-03-03微信小程序使用websocket通訊的demo,含前后端代碼,親測可用
這篇文章主要介紹了微信小程序使用websocket通訊的demo,含前后端代碼,親測可用,需要的朋友可以參考下2019-05-05性能優(yōu)化篇之Webpack構建速度優(yōu)化的建議
這篇文章主要介紹了性能優(yōu)化篇之Webpack構建速度優(yōu)化的建議,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04