我有一个重复的对象数组。我想删除这些重复项,但需要获取第三个键具有更高值的“重复项”。
尝试了这个解决方案:从 JavaScript 中的对象数组中删除重复项, 但这总是给我第一个重复项,我需要检查哪个具有更高的第三个键值。
let testArray = [
{ id: 1, value: "test1", value1: 1 },
{ id: 2, value: "test2", value1: 1 },
{ id: 1, value: "test3", value1: 5 }
];
let filtered = testArray.reduce((accumulator, current) => {
if (!accumulator.find(({ id }) => id === current.id)) {
accumulator.push(current);
}
return accumulator;
}, []);
console.log(filtered);
/*
Result is:
[ { id: 1, value: 'test1', value1: 1 },
{ id: 2, value: 'test2', value1: 1 } ]
Result desired:
[ { id: 1, value: 'test1', value1: 5 },
{ id: 2, value: 'test2', value1: 1 } ]
*/
我期望结果如下:
[ { id: 1, value: 'test1', value1: 1 },
{ id: 2, value: 'test2', value1: 5 } ]
测试数组的