• <xmp id="wgksg"><samp id="wgksg"></samp>
  • <blockquote id="wgksg"></blockquote>
  • 400-650-7353

    精品課程

    您所在的位置:首頁 > IT干貨資料 > web前端 > 【Web前端基礎知識】數組去重的方法

    【Web前端基礎知識】數組去重的方法

    • 發布: 優就業it培訓
    • 來源:優就業
    • 2021-06-18 17:12:08
    • 閱讀()
    • 分享
    • 手機端入口

    無論是在面試還是實際寫代碼中都會經常遇到數組去重,那接下來我們介紹幾種數組去重的方法。

    1. var arr = [3,6,4,1,8,8,8,8,8,4,0,9,2,7,8,5,3,4,8,9,3]; 

    1、第一種是聲明一個空數組,通過indexOf( )查找的方法,判斷這個新數組中有沒有該元素,如果沒有即查找結果為 -1 時,將這個元素添加到新數組的末尾。

    js代碼為:

    1. //1.創建一個空數組,把arr里面的元素往空對象中添加,判斷如果空數組沒有這個元素,加 
    2.        var array = []; 
    3.        for( var i = 0; i<arr.length; i++ ) { 
    4.            if( array.indexOf(arr[i]) == -1 ) { 
    5.                array.push( arr[i] ); 
    6.            } 
    7.        } 
    8.         console.log(array); 

    2、第二種是操作數組自身:

    從第一項開始,拿該項和后面的所有項作比較,如果后面有和比較項相等的,就把后面的一項刪除。刪除的方法會改變當前數組的長度,后面的元素會自動往前挪,所以補位上來的元素需要在進行一次比較,讓下標進行自減操作。

    比較的詳細過程即是為:

    拿數組中第一個元素,和后面所有的元素進行比較,如果一樣刪除后面哪一個

    拿數組中第二個元素,和后面所有的元素進行比較,如果一樣刪除后面哪一個

    ...

    數組中所有的元素后需要和后面的進行比較,所以需要進行for循環的嵌套

    代碼為:

    1. for(var i = 0; i<arr.length; i++) { 
    2.             //和后面所有的元素進行比較 
    3.             for(var j = i+1; j<arr.length; j++) { 
    4.                 if( arr[i] == arr[j] ){ //重復,刪除后面的元素 
    5.                     arr.splice(j,1); 
    6.                     j--;  
    7. //刪除一個元素后元素位置會自動往前挪,下標也需要往前j-- 
    8.                 } 
    9.             } 
    10.         } 
    11.         console.log(arr); 

    3、先使用sort()方法對數組進行排序,再比較看數組是否和相鄰的項相等,如果不同則存入新數組中

    1. // 先對數組進行sort排序 
    2.  var sortArr = arr.sort(); 
    3. // 初始化結果數組并存一個值 
    4.             var res = [sortArr[0]]; 
    5. // 循環遍歷數組進行比較 
    6.             for (var i = 1; i < sortArr.length; i++) { 
    7. // 如果當前的比較項與結果數組的最后一項不相等則放入 
    8.                 if (sortArr[i] !== res[res.length - 1]) { 
    9.                     res.push(sortArr[i]); 
    10.                 } 
    11.             } 
    12.             console.log(res); 

     

    學習疑問申請解答
    您的姓名
    您的電話
    意向課程
     

    中公優就業

    IT小助手

    掃描上方二維碼添加好友,請備注:599,享學習福利。

    >>本文地址:
    注:本站稿件未經許可不得轉載,轉載請保留出處及源文件地址。

    推薦閱讀

    優就業:ujiuye

    關注中公優就業官方微信

    • 關注微信回復關鍵詞“大禮包”,享學習福利
    QQ交流群
    在線疑問解答
    (加群備注“網站”)
    IT培訓交流群 加入群聊 +
    軟件測試 加入群聊 +
    全鏈路UI/UE設計 加入群聊 +
    Python+人工智能 加入群聊 +
    互聯網營銷 加入群聊 +
    Java開發 加入群聊 +
    PHP開發 加入群聊 +
    VR/AR游戲開發 加入群聊 +
    大前端 加入群聊 +
    大數據 加入群聊 +
    Linux云計算 加入群聊 +
    優就業官方微信
    掃碼回復關鍵詞“大禮包”
    享學習福利

    測一測
    你適合學哪門IT技術?

    1 您的年齡

    2 您的學歷

    3 您更想做哪個方向的工作?

    獲取測試結果
     
    課程資料、活動優惠 領取通道
     
     
    A级毛片毛片免费观看久,A毛看片免费观看视频,毛片曰本女人牲交视频视频