问题描述:在一个数组中,有相同id的多个对象相同,要得到一个去重后的数组。
let arr = [
{ id: 3, value: 2, name: 'jack' },
{ id: 2, value: 3, name: 'g' },
{ id: 1, value: 2, name: 'jaddck' },
{ id: 3, value: 2, name: 'jack' },
{ id: 1, value: 2, name: 'jaddck' },
]
function arrayTo(arr) {
let arrObjMap = {}
let result = []
for (let i = 0; i < arr.length; i++) {
let arrObj = arr[i]
if (arrObj['id'] in arrObjMap) {
continue
}
arrObjMap[arrObj['id']] = arrObj
result.push(arrObj)
}
return result;
}
console.log(arrayTo((arr)))
结果: