国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

YanceyOfficial / 506人閱讀

摘要:現(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

相關(guān)文章

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

    摘要:現(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,...

    hightopo 評論0 收藏0
  • Python目錄重的這些方法梳理

      此篇文章闡述了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,...

    89542767 評論0 收藏0
  • 案例 - 收藏集 - 掘金

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

    張金寶 評論0 收藏0
  • 案例 - 收藏集 - 掘金

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

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

    摘要:數(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...

    Tonny 評論0 收藏0

發(fā)表評論

0條評論

YanceyOfficial

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<