Вы не можете создать карту с дубликатами ключей. Таким образом, вы можете заменить ключ и значение, и тогда это будет возможно, например:
const
data = [
{
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' }
}
],
result = data.map(({ name, group }) => [name, group.name]),
resultAsMap = new Map(result);
В качестве альтернативы, вы можете создать набор строк, если вам это поможет, например:
result = new Set(data.map(({ name, group }) => `${group.name}: ${name}`));
Вы также можете сделать «группировка по», которая кажется более подходящей для вашего случая:
reducer = (map, { name, group }) => map.set(group.name, (map.get(group.name) || []).concat(name)),
result = data.reduce(reducer, new Map);