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

資訊專欄INFORMATION COLUMN

數(shù)組去重

Bmob / 1229人閱讀

摘要:方法一利用去重方法二利用嵌套,然后去重方法三利用去重方法四利用方法五利用方法六利用當(dāng)前元素,在原始數(shù)組中的第一個索引當(dāng)前索引值,否則返回當(dāng)前元素方法七利用遞歸去重排序后更加方便去重遞歸,然后數(shù)組去重方法八利用數(shù)據(jù)結(jié)構(gòu)去重數(shù)組

方法一:利用ES6 Set去重
function unique(arr){
    return Array.from(new set(arr))  
}
方法二:利用for嵌套for,然后splice去重
 function unique(arr){   
    for(var i=0;i
方法三、利用indexOf去重
  function unique(arr){   
        if(!Array.isArray(arr)){
            console.log("type error!")
            return false;
        }
        var array=[];
        for(var i=0;i
方法四、利用sort()
function unique(arr){   
    if(!Array.isArray(arr)){
        console.log("type error!")
        return false;
    }
    var array=[arr[0]];
    for(var i=1;i
方法五、利用includes
  function unique(arr){   
        if(!Array.isArray(arr)){
            console.log("type error!")
            return false;
        }
        var array=[];
        for(var i=0;i
方法六、利用filter
function unique(arr) {
  return arr.filter(function(item, index, arr) {
    //當(dāng)前元素,在原始數(shù)組中的第一個索引==當(dāng)前索引值,否則返回當(dāng)前元素
    return arr.indexOf(item, 0) === index;
  });
}
方法七、利用遞歸去重
function unique(arr) {
    var array= arr;
    var len = array.length;

    array.sort(function(a,b){   //排序后更加方便去重
        return a - b;
    })

    function loop(index){
        if(index >= 1){
            if(array[index] === array[index-1]){
            array.splice(index,1);
            }
            loop(index - 1);    //遞歸loop,然后數(shù)組去重
        }
    }
    loop(len-1);
    return array;
}
方法八、利用Map數(shù)據(jù)結(jié)構(gòu)去重
function arrayNonRepeatfy(arr) {
        let map = new Map();
        let array = new Array();  // 數(shù)組用于返回結(jié)果
        for (let i = 0; i < arr.length; i++) {
            if(map.has(arr[i])) {  // 如果有該key值
                map.set(arr[i], true);
            } else {
                map.set(arr[i], false);   // 如果沒有該key值
                array.push(arr[i]);
           }
       }
     return array ;
}
方法九、利用reduce+includes
function unique(arr){
    return arr.reduce((prev,cur) => prev.includes(cur) ? prev : [...prev,cur],[]);
}
方法十、[...new Set(arr)]
[...new Set(arr)]  //相對于第一種方法來說只是簡化了代碼

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

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

相關(guān)文章

  • JS數(shù)組去重總結(jié)

    摘要:數(shù)組去重,一般會在面試的時候才會碰到,要求手寫數(shù)組去重方法的代碼。在實際項目中碰到的數(shù)組去重,一般都是后臺去處理,很少讓前端處理數(shù)組去重。數(shù)組去重的方法一利用去重中最常用如果不考慮兼容性,這種去重的方法代碼最少。 數(shù)組去重,一般會在面試的時候才會碰到,要求手寫數(shù)組去重方法的代碼。如果是被提問到,數(shù)組去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看。 在實際項目中碰到的...

    whinc 評論0 收藏0
  • 跟underscore一起學(xué)數(shù)組去重

    摘要:引子數(shù)組去重是一個老生常談的話題,在面試中也經(jīng)常會被問道。其中如果數(shù)組是排序的,去重運算效率更高,因為排序能夠?qū)⑾嗤臄?shù)排列在一起,方便前后比較。當(dāng)數(shù)組有序?qū)τ趯ο蟮娜ブ?,我們知道為,所以使用比較對象在實際場景中沒有意義。 引子 數(shù)組去重是一個老生常談的話題,在面試中也經(jīng)常會被問道。對于去重,有兩種主流思想: 先排序,線性遍歷后去重,時間復(fù)雜度O(n*log2n); 使用哈希,空間換...

    flybywind 評論0 收藏0
  • JavaScript專題之數(shù)組去重

    摘要:專題系列第三篇,講解各種數(shù)組去重方法,并且跟著寫一個前言數(shù)組去重方法老生常談,既然是常談,我也來談?wù)?。它類似于?shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。 JavaScript 專題系列第三篇,講解各種數(shù)組去重方法,并且跟著 underscore 寫一個 unique API 前言 數(shù)組去重方法老生常談,既然是常談,我也來談?wù)劇?雙層循環(huán) 也許我們首先想到的是使用 indexOf 來循...

    fsmStudy 評論0 收藏0
  • JavaScript數(shù)組去重(12種方法,史上最全)

    摘要:數(shù)組去重,一般都是在面試的時候才會碰到,一般是要求手寫數(shù)組去重方法的代碼。如果是被提問到,數(shù)組去重的方法有哪些你能答出其中的種,面試官很有可能對你刮目相看。數(shù)組去重的方法一利用去重中最常用不考慮兼容性,這種去重的方法代碼最少。 數(shù)組去重,一般都是在面試的時候才會碰到,一般是要求手寫數(shù)組去重方法的代碼。如果是被提問到,數(shù)組去重的方法有哪些?你能答出其中的10種,面試官很有可能對你刮目相看...

    rozbo 評論0 收藏0
  • JavaScript數(shù)組方法之數(shù)組去重方法

    摘要:工作過程中經(jīng)常會用到數(shù)組去重,用到的時候往往一時想不到好方法,所以這里來總結(jié)一下去重方法。和方法分別為添加成員方法和得到鍵值方法。因此,利用方法也可以實現(xiàn)數(shù)組的去重。 工作過程中經(jīng)常會用到數(shù)組去重,用到的時候往往一時想不到好方法,所以這里來總結(jié)一下去重方法。使用es6去重代碼很簡單,而且ES6已經(jīng)相當(dāng)普及了。所以先來介紹一下es6中的方法。 1.ES6中Map結(jié)構(gòu)方法 function...

    CarlBenjamin 評論0 收藏0

發(fā)表評論

0條評論

Bmob

|高級講師

TA的文章

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