成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

<javaScript> 數(shù)組去重的方法總結(jié)(2017年)

YanceyOfficial / 513人閱讀

摘要:現(xiàn)在要求去重下面這個(gè)數(shù)組測(cè)試重復(fù)重復(fù)方法一測(cè)試重復(fù)重復(fù)去重后測(cè)試重復(fù)是新加的集合集合中的值不會(huì)重復(fù)。歡迎大家一起討論提出新的去重方法。有任何錯(cuò)誤請(qǐng)?jiān)谠u(píng)論指出。

現(xiàn)在要求去重下面這個(gè)數(shù)組

[1, 2, 3, 3, 3, "0", "1", "2", "測(cè)試", "重復(fù)", "重復(fù)", NaN, NaN, false, false];

方法一:ES6 Set()

let arr = [1, 2, 3, 3, 3, "0", "1", "2", "測(cè)試", "重復(fù)", "重復(fù)", NaN, NaN, false, false];
arr = [...new Set(arr)]; //去重后:  [ 1, 2, 3, "0", "1", "2", "測(cè)試", "重復(fù)", NaN, false ]

Set 是ES6新加的集合,集合中的值不會(huì)重復(fù)。 ...操作符 會(huì)將可遍歷對(duì)象,轉(zhuǎn)換為數(shù)組.

方法二:利用對(duì)象

let arr = [1, 2, 3, 3, 3, "0", "1", "2", "測(cè)試", "重復(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 都會(huì)在if那里判斷為 false 不利于代碼閱讀
      }
}
console.log(temp)//去重后:  [ 1, 2, 3, "0", "1", "2", "測(cè)試", "重復(fù)", NaN, false ]

方法三:sort排序后 在去重

let arr = [1, 2, 3, 3, 3, "0", "1", "2", "測(cè)試", "重復(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個(gè)值, 比===更靠譜  例如 Object.is(NaN,NaN) 會(huì)判斷true
              arr.shift();
        }else{
              temp.push( arr.shift() );
}
}//此方法會(huì)清空原數(shù)組,  你可以復(fù)制個(gè)數(shù)組,在去進(jìn)行操作
console.log(temp)//去重后:  [ "0", 1, "1", "2", 2, 3, NaN, false, "測(cè)試", "重復(fù)" ]

方法四:for in

let arr = [1, 2, 3, 3, 3, "0", "1", "2", "測(cè)試", "重復(fù)", "重復(fù)", NaN, NaN, false, false];
let temp =[];
for(let i = 0; i < arr.length; i++) {
        if( !temp.includes( arr[i]) ) {//includes 檢測(cè)數(shù)組是否有某個(gè)值 內(nèi)部調(diào)用Object.is() 利用判斷NaN
                temp.push(arr[i]);
          }
}
console.log(temp);//去重后:  [ 1, 2, 3, "0", "1", "2", "測(cè)試", "重復(fù)", NaN, false ]

以上方法 在最新版本谷歌瀏覽器全部正常運(yùn)行; 建議大家都用谷歌瀏覽器~~
但是還是要用Babel去轉(zhuǎn)譯這些代碼 ,不然低級(jí)瀏覽器沒法運(yùn)行。
歡迎大家一起討論, 提出新的去重方法。
有任何錯(cuò)誤,請(qǐng)?jiān)谠u(píng)論指出。 謝謝大家。
劉志飛 2017.5.15

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/50778.html

相關(guān)文章

  • &lt;javaScript&gt; 數(shù)組重的方法總結(jié)(2017)

    摘要:現(xiàn)在要求去重下面這個(gè)數(shù)組測(cè)試重復(fù)重復(fù)方法一測(cè)試重復(fù)重復(fù)去重后測(cè)試重復(fù)是新加的集合集合中的值不會(huì)重復(fù)。歡迎大家一起討論提出新的去重方法。有任何錯(cuò)誤請(qǐng)?jiān)谠u(píng)論指出。 現(xiàn)在要求去重下面這個(gè)數(shù)組 [1, 2, 3, 3, 3, 0, 1, 2, 測(cè)試, 重復(fù), 重復(fù), NaN, NaN, false, false]; 方法一:ES6 Set() let arr = [1, 2, 3, 3, 3,...

    hightopo 評(píng)論0 收藏0
  • Python目錄重的這些方法梳理

      此篇文章闡述了Python目錄去重的這些方法,原文中根據(jù)實(shí)例編碼推薦的十分詳盡。對(duì)大家學(xué)習(xí)培訓(xùn)和工作具有很強(qiáng)的參照參考意義,需用的小伙伴可以參考一下  請(qǐng)定義函數(shù),將列表[10,1,2,20,10,3,2,1,15,20,44,56,3,2,1]中的重復(fù)元素除去,寫出至少3種方法?! 》椒ㄒ唬豪眉先ブ亍 ist_1=[10,1,2,20,10,3,2,1,15,20,44,56,3,2,...

    89542767 評(píng)論0 收藏0
  • 案例 - 收藏集 - 掘金

    摘要:同行這么做使用實(shí)現(xiàn)圓形進(jìn)度條前端掘金在開發(fā)微信小程序的時(shí)候,遇到圓形進(jìn)度條的需求。實(shí)現(xiàn)也談數(shù)組去重前端掘金的數(shù)組去重是一個(gè)老生常談的話題了。百度前端技術(shù)學(xué)院自定義前端掘金一標(biāo)簽概念元素表示用戶界面中項(xiàng)目的標(biāo)題。 閑話圖片上傳 - 掘金作者:孫輝,美團(tuán)金融前端團(tuán)隊(duì)成員。15年畢業(yè)加入美團(tuán),相信技術(shù),更相信技術(shù)只是大千世界里知識(shí)的一種,個(gè)人博客: https://sunyuhui.com ...

    張金寶 評(píng)論0 收藏0
  • 案例 - 收藏集 - 掘金

    摘要:同行這么做使用實(shí)現(xiàn)圓形進(jìn)度條前端掘金在開發(fā)微信小程序的時(shí)候,遇到圓形進(jìn)度條的需求。實(shí)現(xiàn)也談數(shù)組去重前端掘金的數(shù)組去重是一個(gè)老生常談的話題了。百度前端技術(shù)學(xué)院自定義前端掘金一標(biāo)簽概念元素表示用戶界面中項(xiàng)目的標(biāo)題。 閑話圖片上傳 - 掘金作者:孫輝,美團(tuán)金融前端團(tuán)隊(duì)成員。15年畢業(yè)加入美團(tuán),相信技術(shù),更相信技術(shù)只是大千世界里知識(shí)的一種,個(gè)人博客: https://sunyuhui.com ...

    huangjinnan 評(píng)論0 收藏0
  • JavaScript數(shù)組重的總結(jié)

    摘要:數(shù)組去重方法的總結(jié)前言在中數(shù)組是比較常用的,本文中總結(jié)了下數(shù)組去重的幾種常用方法,如有問題,請(qǐng)指正。 JavaScript數(shù)組去重方法的總結(jié) 前言 在JavaScript中數(shù)組是比較常用的,本文中總結(jié)了下數(shù)組去重的幾種常用方法,如有問題,請(qǐng)指正。 簡(jiǎn)單粗暴的一種,ES6中set方法: var arr = [1,2,2,3,3,4,5,5]; console.log([...new Se...

    Tonny 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<