兼容性强的对象数组去重/简单数组去重方法

不使用ES6的 Set() 或者 Map()集的复杂数组去重,兼容IE

 

export function noRepeat(arr) {
    var obj = {};
    var newArr = arr.reduce(function(a, b) {
        obj[b.name] ? '' : obj[b.name] = true && a.push(b); // 使用name判断
        return a;
    }, []);
    return newArr;
}





<!-- 调用 -->
var list =[{name: 'a',value: 1}, {name: 'a',value: 1}, {name: 'b',value: 3}, {name: 'c',value: 4},{name: 'c',value: 6}, {name: 'b',value: 6}, {name: 'd',value: 7}];
console.log(noRepeat(list));

 

posted @ 2022-08-13 10:36  不如饲猪  阅读(52)  评论(0编辑  收藏  举报