У меня есть объект объектов, и некоторые из этих объектов имеют похожие атрибуты (например, tempId
), и их key
получено из атрибута id
объекта, как я могу удалить дубликаты (объектов с похожими tempId
) оставив только тот, у которого установлен ключ id
. Например, если у меня есть этот объект ниже:
{
'' => { id: '', tempId: 'abcde', name: 'king', age: 5 },
'aSaJsk' => { id: aSaJsk, tempId: 'abcde', name: 'king', age: 5 }
}
Я хотел бы вернуть:
{
'aSaJsk' => { id: aSaJsk, name: 'king', age: 5 }
}
В данный момент я пытался использовать это, но он возвращает первый дубликат, чтобы появиться в объекте.
function removeDuplicates(myObj) {
const obj = keyBy(uniqBy(Object.values(myObj), "tempId"), "id");
const messages = Object.assign({}, obj);
return messages;
}
Есть идеи?