總結(jié)幾種數(shù)組去重的方法,敲一遍代碼

這里總結(jié)集中數(shù)組去重的方法:自己動手敲一敲,精神一整天!
1.第一種方法:(我經(jīng)常用的,好理解)

function arrAlong(arr) {
    for (var i = 0; i < arr.length; i++) {
        for (var j = i + 1; j < arr.length; j++) {
            if (arr[i] == arr[j]) {
                arr.splice(j, 1);
                j--;
            }
        }
    }
    return arr;
};

利用對數(shù)組的進(jìn)行雙重遍歷,對數(shù)組的位置的數(shù)值進(jìn)行比較,刪除相同的元素,返回去重之后的數(shù)組!
2.第二種方法

function arrAlong(arr) {
    var ret = [];
    for (var i = 0, j = arr.length; i < j; i++) {
        if (ret.indexOf(arr[i]) === -1) {
            ret.push(arr[i]);
        }
    }
    return ret;
}

利用indexof的特性,進(jìn)行操作!
3.第三種方法

function arrAlong(arr) {
    var ret = [];
    arr.forEach(function(e, i, arr) {
        if (arr.indexOf(e) === i) {
            ret.push(e);
        }
    });
    return ret;
}

數(shù)組下標(biāo)判斷法, 遍歷數(shù)組,利用indexOf判斷元素的返回值是否與當(dāng)前索引相等,如相等則加入
4.第四中方法

function arrAlong(arr) {
    var tmp = {},
        ret = [];
    for (var i = 0, j = arr.length; i < j; i++) {
        if (!tmp[arr[i]]) {
            tmp[arr[i]] = 1;
            ret.push(arr[i]);
        }
    }
    return ret;
}

遍歷數(shù)組,利用object對象保存數(shù)組值,判斷數(shù)組值是否已經(jīng)保存在object中,未保存則push到新數(shù)組并用object[arrayItem]=1的方式記錄保存

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,691評論 0 4
  • java筆記第一天 == 和 equals ==比較的比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量...
    jmychou閱讀 1,658評論 0 3
  • 我之前想,要創(chuàng)造一個絕對無敵的傳說,能永遠(yuǎn)不會被打破,當(dāng)然了,這也是句歌詞。跟別的什么熱血歌沒什么別的不同,但這句...
    pppppan閱讀 154評論 0 1
  • 早起就是好。天蒙蒙亮,也可以說朦朦黑,也就是半黑半明的天吧,透過窗子,我看到地上車上房頂上樹葉上,總之我觸目所及的...
    申振柱閱讀 196評論 0 1
  • 而就物測物,莫知其紀(jì),因化觀化,莫名其度,必也由其本始,以追尋其源,而后可知其變者、化者、生者、育者。 看事物...
    蒙娜麗莎的喵閱讀 663評論 0 0

友情鏈接更多精彩內(nèi)容