我有这个数组:
array = [{id: 1, name: 'apple'}, {id: 2, name: 'banana'}, {id: 3, name:
'apple'}]
Run Code Online (Sandbox Code Playgroud)
我需要删除具有重复属性“名称”的对象,并且需要为其余对象保留最高的ID,如下所示:
newarray = [ {id: 2, name: 'banana'}, {id: 3, name: apple}]
Run Code Online (Sandbox Code Playgroud)
我已经尝试过这种方式:
array = [{id: 1, name: 'apple'}, {id: 2, name: 'banana'}, {id: 3, name:
apple}]
newarray = Array.from(new Set(array.map(x => x.id)))
.map(id => {
return {
id: id,
name: array.find( s => s.id === id).name
})
Run Code Online (Sandbox Code Playgroud)
结果我得到
newarray = [ {id: 2, name: 'banana'}, {id: 1, name: apple}]
Run Code Online (Sandbox Code Playgroud)
我删除了重复的对象,但是我没有为每个剩余的对象获得最高的ID。
谢谢你给我一个主意。