【发布时间】:2020-02-10 17:37:07
【问题描述】:
我有一个需要过滤的对象数组。 对象结构如下:
[
{
name: 'Wheat',
group: { name: 'Grains' }
}, {
name: 'Rice',
group: { name: 'Grains' }
}, {
name: 'corn',
group: { name: 'Grains' }
}, {
name: 'Oats',
group: { name: 'Grains' }
}, {
name: 'Live Cattle',
group: { name: 'Livestock/meat products' }
}, {
name: 'pork Bellies',
group: { name: 'Livestock/meat products' }
}
]
我需要这样的东西才能在 GUI 上显示它。 根据组名分离出数组。由于组名将是唯一的,但每个组可以在其下有多个选择。
所以我想创建一个 HashMap,其中键作为组名,值作为名称。 HashMap 如下所示:
{
'Grains': 'Oats',
'Grains': 'Wheat',
'Grains': 'corn',
'Livestock/meat products': 'Live Cattle',
'Livestock/meat products': 'pork Bellies'
}
如何使用数组函数来实现这一点,或者我需要有一个单独的逻辑来创建一个 HashMap?
谢谢,
【问题讨论】:
-
你的哈希映射只能有一个同名的键。
-
您的原始结构不是有效的对象。你不能有
group: name: "Grains",你需要在每个键后面加上一个值。 -
请使用真正的 JavaScript 对象结构更新您的帖子。您显示的不是有效的 JS 语法。
-
StackOverflow 不是免费的编码服务。你应该try to solve the problem first。请更新您的问题以在minimal reproducible example 中显示您已经尝试过的内容。如需更多信息,请参阅How to Ask,并拨打tour :)
-
为什么
Grains:Rice不在预期结果中?删除它的过滤条件是什么?
标签: javascript arrays hashmap