数组对象根据id去重

100 阅读1分钟

利用 map和 Map 进行

// 数组一
const array = [
    {"id": 5,"name": "become","type": "bool"},
    {"id": 6,"name": "become_exe","type": "string"},
    {"id": 7,"name": "become_flags","type": "string"},
    {"id": 8,"name": "become_method","type": "string"}
]

// 数组二
const array2 = [
    {"name":"args","type":"dict","value":"6666666666","id":3},
    {"name":"become_flags","type":"string","value":"55555","id":7},
    {"name":"become_method","type":"string","value":"123","id":8},
    {"name":"any_errors_fatal","type":"bool","value":false,"id":2}
]

//先将数组进行合并
let newList = [...array, ...array2]

// 利用map 方法 返回 item.id  以及item
const objArrayToMap = newList.map((item) => [item['id'], item])
console.log(objArrayToMap)

// 将得到的数组传入 new Map  利用Map  key值不能重复 因为item.id 重复 去除掉 id相同的项 
const list1  = [...new Map(objArrayToMap).values()]
console.log(list1)