数组去重之去除对象中相同key的对象

139 阅读1分钟

在项目中遇到了这个问题,记录一下,希望可以帮到其他需要的人

    let arr = [
        {a: 1, b: 2, c: 4},
        {a: 1, b: 8, c: 4},
        {a: 2, b: 3, c: 4},
     ];
     let obj = {};
      
    arr = arr.reduce((item, next) => {
    obj[next.a] ? '' : obj[next.a] = true && item.push(next);
    return item;
    }, []);
    
    console.log(arr) 
    /* 
    0: {a: 1, b: 2, c: 4}
    1: {a: 2, b: 3, c: 4}
    */

在实际项目中,数据肯定不是这样,在后台返回的数据,对于某一项有相同的时候,需要去掉,以免重复影响交互

  • ex
    • 在多选框中有二级联动数据的时候,可能二级数据里有相同数据的时候要一起展示的时候就需要去重一下