鍍金池/ 問答/HTML/ 數(shù)組對象去重

數(shù)組對象去重

var arr = [
    {
        name: 'hh',
        id: 333
    },
    {
        name: 'hh',
        id: 333
    },
    {
        name: 'hh'
        id: 222
    }
]

只需要根據(jù)id 去重,其他的不需要

回答
編輯回答
糖果果

//第一個(gè)參數(shù)為 需要去重的數(shù)組,第二個(gè)參數(shù)為數(shù)組的屬性名,返回的是數(shù)組類型

        function unique(array, attr) {
            // res用來存儲(chǔ)結(jié)果
            var res = [];
            for(var i = 0, arrayLen = array.length; i < arrayLen; i++) {
                for(var j = 0, resLen = res.length; j < resLen; j++) {
                    if(array[i][attr] === res[j][attr]) {
                        break;
                    }
                }
                // 如果array[i]是唯一的,那么執(zhí)行完循環(huán),j等于resLen
                if(j === resLen) {
                    res.push(array[i])
                }
            }
            return res;
        }

        console.log(unique(arr,'id'));
2017年8月17日 02:09
編輯回答
命于你

for(var i = 0;i<arr.length;i++){

for(var j = i+1;j<arr.lenght;j++){
    if(arr[i].id == arr[j].id){
        arr[j].remove();
    }
}

}

2017年7月2日 10:07
編輯回答
傻叼
//引用類型數(shù)組去重
let objUnique = function(arr) {
    var hash = {};
    let arr2 = arr.reduce(function(item, next) {
        hash[next.id] ? '' : hash[next.id] = true && item.push(next);
        return item;
    }, [])
    return arr2;
}

這是我在項(xiàng)目里使用的 你可以參考下

2017年6月15日 10:44