陪玩系統原始碼中陣列去重的實現程式碼,簡單卻重要

雲豹科技程式設計師發表於2021-12-21

隨著陪玩系統原始碼的發展,使用者數量會不斷上升,需要系統處理的資料量也會不斷增加,在陪玩系統原始碼中,不同資料的處理方式有很多,其中陣列去重就是比較常用的一種,接下來我們一起看看陣列去重的實現程式碼吧。

陣列去重

// indexOf實現var array = [1, 1, '1'];function unique(array) {
    var res = [];
    for (var i = 0, len = array.length; i < len; i++) {
        var current = array[i];
        if (res.indexOf(current) === -1) {
            res.push(current)
        }
    }
    return res;}console.log(unique(array));// 排序後去重var array = [1, 1, '1'];function unique(array) {
    var res = [];
    var sortedArray = array.concat().sort();
    var seen;
    for (var i = 0, len = sortedArray.length; i < len; i++) {
        // 如果是第一個元素或者相鄰的元素不相同
        if (!i || seen !== sortedArray[i]) {
            res.push(sortedArray[i])
        }
        seen = sortedArray[i];
    }
    return res;}console.log(unique(array));// filter實現var array = [1, 2, 1, 1, '1'];function unique(array) {
    var res = array.filter(function(item, index, array){
        return array.indexOf(item) === index;
    })
    return res;}console.log(unique(array));// 排序去重var array = [1, 2, 1, 1, '1'];function unique(array) {
    return array.concat().sort().filter(function(item, index, array){
        return !index || item !== array[index - 1]
    })}console.log(unique(array));// Object鍵值對var array = [{value: 1}, {value: 1}, {value: 2}];function unique(array) {
    var obj = {};
    return array.filter(function(item, index, array){
        console.log(typeof item + JSON.stringify(item))
        return obj.hasOwnProperty(typeof item + JSON.stringify(item)) ? false : (obj[typeof item + JSON.stringify(item)] = true)
    })}console.log(unique(array)); // [{value: 1}, {value: 2}]// ES6 Set實現var unique = (a) => [...new Set(a)]

為了提升陪玩系統原始碼中的資料質量,陣列去重經常會用到,希望以上內容能給大家帶來幫助。
本文轉載自網路,轉載僅為分享乾貨知識,如有侵權歡迎聯絡雲豹科技進行刪除處理
原文連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69996194/viewspace-2848711/,如需轉載,請註明出處,否則將追究法律責任。

相關文章