我有重复的值,如下图所示
我使用了下面的代码,但是它只给出了ashare1 guideline2
之类的名称,我也在寻找id。
请找到我目前使用的以下代码
const optionMap0 = [
...new Set(libraryEquipment.map(e => e.equipmentSource.name)),
{
id: '1d037be564c548eebe71db4e45e26cf7',
name: 'None',
},
];
请问有人建议如何从上述对象数组中获得不同的值。
非常感谢
答案 0 :(得分:1)
您可以将其转换为对象,以键作为名称,值作为对象本身,然后使用Object.values()来获取对象。
const obj = {};
libraryEquipment.forEach(e => obj[e.equipmentSource.name] = e.equipmentSource);
const optionMap0 = Object.values(obj);
与set不同,如果您有多个同名对象,它将保留最后一个。您可以在添加对象之前进行检查,以便它将使用具有相同名称的第一个对象,如下所示:
const obj = {};
libraryEquipment.forEach(e => {
if (!obj[e.equipmentSource.name])
obj[e.equipmentSource.name] = e.equipmentSource'
});
const optionMap0 = Object.values(obj);