es6 清理数组中重复的引用对象

109 阅读1分钟

将重复的对象全部清除

let childInfo = res.respData.childInfo;
                    let infoJson = {};
                    childInfo.forEach(child =>{
                        let keyCode = child.roleId;
                       if(infoJson.hasOwnProperty(keyCode)){
                          infoJson[keyCode] = infoJson[keyCode] + 1;
                       }else{
                           infoJson[keyCode] = 0;
                       }
                    });
                    Object.keys(infoJson).forEach(key =>{
                        if(infoJson[key] > 0){
                            childInfo = childInfo.filter(child => child.roleId != key)
                        }
                    })
                   

reduce去重

let person = [
     {id: 0, name: "小明"},
     {id: 1, name: "小张"},
     {id: 2, name: "小李"},
     {id: 3, name: "小孙"},
     {id: 1, name: "小周"},
     {id: 2, name: "小陈"},   
];
 
let obj = {};
 
let peon = person.reduce((cur,next) => {
    obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
    return cur;
},[]) //设置cur默认类型为数组,并且初始值为空的数组
console.log(peon);
// (4) [{…}, {…}, {…}, {…}]0: {id: 0, name: "小明"}1: {id: 1, name: "小张"}2: {id: 2, name: "小李"}3: {id: 3, name: "小孙"}length: 4__proto__: Array(0)