摘要:現(xiàn)在要求去重下面這個數(shù)組測試重復(fù)重復(fù)方法一測試重復(fù)重復(fù)去重后測試重復(fù)是新加的集合集合中的值不會重復(fù)。歡迎大家一起討論提出新的去重方法。有任何錯誤請在評論指出。
現(xiàn)在要求去重下面這個數(shù)組
[1, 2, 3, 3, 3, "0", "1", "2", "測試", "重復(fù)", "重復(fù)", NaN, NaN, false, false];
方法一:ES6 Set()
let arr = [1, 2, 3, 3, 3, "0", "1", "2", "測試", "重復(fù)", "重復(fù)", NaN, NaN, false, false]; arr = [...new Set(arr)]; //去重后: [ 1, 2, 3, "0", "1", "2", "測試", "重復(fù)", NaN, false ]
Set 是ES6新加的集合,集合中的值不會重復(fù)。 ...操作符 會將可遍歷對象,轉(zhuǎn)換為數(shù)組.
方法二:利用對象
let arr = [1, 2, 3, 3, 3, "0", "1", "2", "測試", "重復(fù)", "重復(fù)", NaN, NaN, false, false]; let obj ={}; let temp=[]; for( let i = 0; i < arr.length; i++ ) { let type= Object.prototype.toString.call(arr[i]);//不加類型 分不清 1 "1" if( !obj[ arr[i] +type] ) { temp.push( arr[i] ); obj[ arr[i]+ type ] =true;//這里給true 利于代碼閱讀和判斷。 如果給 0,"" ,false ,undefined 都會在if那里判斷為 false 不利于代碼閱讀 } } console.log(temp)//去重后: [ 1, 2, 3, "0", "1", "2", "測試", "重復(fù)", NaN, false ]
方法三:sort排序后 在去重
let arr = [1, 2, 3, 3, 3, "0", "1", "2", "測試", "重復(fù)", "重復(fù)", NaN, NaN, false, false]; arr = arr.sort(); let temp =[]; while(arr.length > 0) { if( Object.is(arr[0], arr[1]) ) {//Object.is() 用于比較2個值, 比===更靠譜 例如 Object.is(NaN,NaN) 會判斷true arr.shift(); }else{ temp.push( arr.shift() ); } }//此方法會清空原數(shù)組, 你可以復(fù)制個數(shù)組,在去進行操作 console.log(temp)//去重后: [ "0", 1, "1", "2", 2, 3, NaN, false, "測試", "重復(fù)" ]
方法四:for in
let arr = [1, 2, 3, 3, 3, "0", "1", "2", "測試", "重復(fù)", "重復(fù)", NaN, NaN, false, false]; let temp =[]; for(let i = 0; i < arr.length; i++) { if( !temp.includes( arr[i]) ) {//includes 檢測數(shù)組是否有某個值 內(nèi)部調(diào)用Object.is() 利用判斷NaN temp.push(arr[i]); } } console.log(temp);//去重后: [ 1, 2, 3, "0", "1", "2", "測試", "重復(fù)", NaN, false ]
以上方法 在最新版本谷歌瀏覽器全部正常運行; 建議大家都用谷歌瀏覽器~~
但是還是要用Babel去轉(zhuǎn)譯這些代碼 ,不然低級瀏覽器沒法運行。
歡迎大家一起討論, 提出新的去重方法。
有任何錯誤,請在評論指出。 謝謝大家。
劉志飛 2017.5.15
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/50778.html
摘要:現(xiàn)在要求去重下面這個數(shù)組測試重復(fù)重復(fù)方法一測試重復(fù)重復(fù)去重后測試重復(fù)是新加的集合集合中的值不會重復(fù)。歡迎大家一起討論提出新的去重方法。有任何錯誤請在評論指出。 現(xiàn)在要求去重下面這個數(shù)組 [1, 2, 3, 3, 3, 0, 1, 2, 測試, 重復(fù), 重復(fù), NaN, NaN, false, false]; 方法一:ES6 Set() let arr = [1, 2, 3, 3, 3,...
此篇文章闡述了Python目錄去重的這些方法,原文中根據(jù)實例編碼推薦的十分詳盡。對大家學(xué)習(xí)培訓(xùn)和工作具有很強的參照參考意義,需用的小伙伴可以參考一下 請定義函數(shù),將列表[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1]中的重復(fù)元素除去,寫出至少3種方法。 方法一:利用集合去重 list_1=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,...
摘要:同行這么做使用實現(xiàn)圓形進度條前端掘金在開發(fā)微信小程序的時候,遇到圓形進度條的需求。實現(xiàn)也談數(shù)組去重前端掘金的數(shù)組去重是一個老生常談的話題了。百度前端技術(shù)學(xué)院自定義前端掘金一標簽概念元素表示用戶界面中項目的標題。 閑話圖片上傳 - 掘金作者:孫輝,美團金融前端團隊成員。15年畢業(yè)加入美團,相信技術(shù),更相信技術(shù)只是大千世界里知識的一種,個人博客: https://sunyuhui.com ...
摘要:同行這么做使用實現(xiàn)圓形進度條前端掘金在開發(fā)微信小程序的時候,遇到圓形進度條的需求。實現(xiàn)也談數(shù)組去重前端掘金的數(shù)組去重是一個老生常談的話題了。百度前端技術(shù)學(xué)院自定義前端掘金一標簽概念元素表示用戶界面中項目的標題。 閑話圖片上傳 - 掘金作者:孫輝,美團金融前端團隊成員。15年畢業(yè)加入美團,相信技術(shù),更相信技術(shù)只是大千世界里知識的一種,個人博客: https://sunyuhui.com ...
摘要:數(shù)組去重方法的總結(jié)前言在中數(shù)組是比較常用的,本文中總結(jié)了下數(shù)組去重的幾種常用方法,如有問題,請指正。 JavaScript數(shù)組去重方法的總結(jié) 前言 在JavaScript中數(shù)組是比較常用的,本文中總結(jié)了下數(shù)組去重的幾種常用方法,如有問題,請指正。 簡單粗暴的一種,ES6中set方法: var arr = [1,2,2,3,3,4,5,5]; console.log([...new Se...
閱讀 1105·2021-11-16 11:45
閱讀 3124·2021-10-13 09:40
閱讀 714·2019-08-26 13:45
閱讀 1188·2019-08-26 13:32
閱讀 2167·2019-08-26 13:23
閱讀 911·2019-08-26 12:16
閱讀 2823·2019-08-26 11:37
閱讀 1748·2019-08-26 10:32