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

資訊專欄INFORMATION COLUMN

JS數(shù)組去重方法小結(jié)

PascalXie / 2593人閱讀

摘要:數(shù)組去重看了網(wǎng)上很多數(shù)組去重方法,用的比較常見的大概就幾種,今天想自己來做一個總結(jié)。還有就是方法返回的數(shù)組也是排序后的數(shù)組,某些情況下可能不符合要求。

JS數(shù)組去重

看了網(wǎng)上很多數(shù)組去重方法,用的比較常見的大概就幾種,今天想自己來做一個總結(jié)。
部分內(nèi)容參考該博客

1 . 在原數(shù)組上操作(基本方法)
思路:利用循環(huán)嵌套,判斷數(shù)組中每個元素與其后面的元素是否相等,如果相等,就使用splice方法刪掉后面的元素,注意j--。

function dedupe2(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;
}

2 . 數(shù)組去重后返回一個新數(shù)組

思路:新建一個數(shù)組,遍歷需要去重的數(shù)組,使用indexOf判斷新數(shù)組中是否包含之前數(shù)組中每一項,不包含就push進(jìn)去。

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

3 . 利用對象的屬性去重
思路:每次從數(shù)組中取出一個元素,到對象中去訪問這個屬性,如果能訪問到就說明重復(fù)。

function dedupe3(arr) {
    var newarr = [];
    var obj = {};
    for (var i = 0; i < arr.length; i++) {
        if (!obj[arr[i]]) {
            newarr.push(arr[i]);
            obj[arr[i]] = 1;
        }
    }
    return newarr;
}

4 . 利用ES6中的Set數(shù)據(jù)結(jié)構(gòu)和擴(kuò)展運算符(參考ES6標(biāo)準(zhǔn)入門)

[...new Set([array])];

5 . 還是利用ES6中的Set

function dedupe4(arr) {
    return Array.from(new Set(arr));
}

當(dāng)然,數(shù)組去重的方法還有很多很多很多,例如常用的先排序后去重,但是我看了一些帖子,發(fā)現(xiàn)其中存在一些問題,排序時是用到了sort方法,但是并沒有給sort方法一個正確的排序函數(shù),默認(rèn)情況下sort方法比較的是字符串,因此會出現(xiàn)一些問題。還有就是sort方法返回的數(shù)組也是排序后的數(shù)組,某些情況下可能不符合要求。

以上只是個人的一個小總結(jié),代碼都是經(jīng)過測試后的,有問題請指正,也歡迎大家補充,謝謝。

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

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

相關(guān)文章

  • 數(shù)組去重方法小結(jié)

    摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運算符內(nèi)部使用循環(huán)方法思路方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個新的數(shù)組并返回。 1.最基本的去重方法 思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。 function u...

    williamwen1986 評論0 收藏0
  • 數(shù)組去重方法小結(jié)

    摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運算符內(nèi)部使用循環(huán)方法思路方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個新的數(shù)組并返回。 1.最基本的去重方法 思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。 function u...

    張巨偉 評論0 收藏0
  • 數(shù)組去重方法小結(jié)

    摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運算符內(nèi)部使用循環(huán)方法思路方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個新的數(shù)組并返回。 1.最基本的去重方法 思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。 function u...

    testHs 評論0 收藏0
  • 去重方法小結(jié)

    摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。再引用上面的任意一個去重方法思路該方法優(yōu)點是不會產(chǎn)生一個新的數(shù)組。 1.最基本的去重方法 思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。 function unique(arr){   var res ...

    yanest 評論0 收藏0
  • 去重方法小結(jié)

    摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。再引用上面的任意一個去重方法思路該方法優(yōu)點是不會產(chǎn)生一個新的數(shù)組。 1.最基本的去重方法 思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。 function unique(arr){   var res ...

    n7then 評論0 收藏0

發(fā)表評論

0條評論

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