【发布时间】:2020-07-22 11:35:23
【问题描述】:
我有一个对象对象,其中一些对象具有相似的属性(例如tempId),它们的key 是从对象的id 属性中获得的,我如何删除重复项(具有相似@ 的对象987654325@) 只留下带有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;
}
有什么想法吗?
【问题讨论】:
-
我建议看看
Set()。 Set 对象允许您存储任何类型的唯一值,无论是原始值还是对象引用。 阅读此处:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
标签: javascript duplicates javascript-objects