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

資訊專欄INFORMATION COLUMN

[Javascript]數(shù)組去重的三種實(shí)現(xiàn)方式

TZLLOG / 2533人閱讀

摘要:方式使用獲取并刪除刪除數(shù)組的第一個(gè)元素,判斷這個(gè)元素是否還存在于數(shù)組中,如果存在則說明這個(gè)元素的是重復(fù)的如果不存在,進(jìn)行操作方式建立一個(gè)哈希表,通過對象屬性查詢?nèi)コ貜?fù)元素方式思路和方式類似,但是簡潔很多來源個(gè)人博客

方式1:使用shift()獲取并刪除刪除數(shù)組的第一個(gè)元素,判斷這個(gè)元素是否還存在于數(shù)組中,如果存在則說明這個(gè)元素的是重復(fù)的;如果不存在,進(jìn)行push()操作

function unique(a){
    if(Array.isArray(a)){
        var len = a.length,item;
        while(len--){
            item = a.shift();
            if(a.indexOf(item) === -1){
                a.push(item);
            }
        }
    }
    return a;
}

方式2:建立一個(gè)哈希表,通過對象屬性查詢?nèi)コ貜?fù)元素

function unique(array){
    var hash = {},
        len = array.length,
        result = [],
        i;

    for(i = 0; i < len; i++){
        if(!hash[a[i]]){
            hash[a[i]] = true;
            result.push(a[i]);
        }
    }

    return result;
}

方式3:思路和方式2類似,但是簡潔很多

function unique(arr) {
    var hash = {};
    return arr.filter(function (n) {
        hash[n] = (hash[n] || 0);
        return (++hash[n] <= 1);
    });
}
來源

個(gè)人博客

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/91210.html

相關(guān)文章

  • JS數(shù)組去重三種方法

    摘要:編寫雙重循環(huán)去重當(dāng)出現(xiàn)相同的元素時(shí),刪除重復(fù)的元素哈希表形式查詢對象是否存在當(dāng)前元素屬性借助方法查詢空數(shù)組里面是否已經(jīng)存在這個(gè)值,不存在則推入編寫單元測試輸出通過來實(shí)現(xiàn)是比較優(yōu)雅的姿勢。 編寫uniqueArray.js var Unique = { /** * 雙重循環(huán)去重 * @param arr * @returns {*} */ ...

    hikui 評論0 收藏0
  • 思維導(dǎo)圖整理大廠面試高頻數(shù)組補(bǔ)充1: 最接近的三數(shù)之和 和 三數(shù)之和 的兩個(gè)不同之處, 力扣16

    摘要:此專欄文章是對力扣上算法題目各種方法的總結(jié)和歸納整理出最重要的思路和知識重點(diǎn)并以思維導(dǎo)圖形式呈現(xiàn)當(dāng)然也會加上我對導(dǎo)圖的詳解目的是為了更方便快捷的記憶和回憶算法重點(diǎn)不用每次都重復(fù)看題解畢竟算法不是做了一遍就能完全記住的所 ...

    longmon 評論0 收藏0
  • javascript 數(shù)組重的6種思路

    摘要:但是這并不妨礙我們從思維拓展的角度出發(fā),看看去重可以用幾種思路去實(shí)現(xiàn)。首先是常規(guī)的雙層循環(huán)比對的思路實(shí)現(xiàn)定義一個(gè)變量表示當(dāng)前元素在中是否存在。依次對中的元素和原數(shù)組元素進(jìn)行比對。重點(diǎn)是保證碰撞的幾率小到比中大獎(jiǎng)還小就可以了。 前端在日常開發(fā)中或多或少都會碰到有對數(shù)據(jù)去重的需求,實(shí)際上,像是lodash這些工具庫已經(jīng)有成熟完備的實(shí)現(xiàn),并且可以成熟地運(yùn)用于生產(chǎn)環(huán)境。但是這并不妨礙我們從思維...

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

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

    fsmStudy 評論0 收藏0
  • 數(shù)組重的JavaScript實(shí)現(xiàn)

    摘要:主要用到數(shù)組的方法。第一種方式是判斷數(shù)組中的第一索引號等于參數(shù)索引號,一般來說,如果數(shù)組元素重復(fù),除第一個(gè)元素外,所有重復(fù)元素的索引和該元素對應(yīng)的第一索引是不同的。 1.最簡方法 創(chuàng)建一個(gè)空的新數(shù)組,依次檢查舊數(shù)組的值是否存在于新數(shù)組中,如果不存在就push進(jìn)去。主要用到數(shù)組的indexOf方法。 function arrUnique(arr){ ...

    Imfan 評論0 收藏0

發(fā)表評論

0條評論

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