У меня есть массив объектов, и я хочу сгруппировать / упорядочить некоторые внутренние свойства на карте в соответствии с ключом. Я написал этот код, но хотел бы знать, есть ли способ его оптимизировать?
const myArray = [{
getValue: () => {
return {
country: 'France',
city: 'Toulouse',
};
},
},
{
getValue: () => {
return {
country: 'England',
city: 'London',
};
},
},
{
getValue: () => {
return {
country: 'France',
city: 'Paris',
};
},
},
];
const myMap = new Map();
myArray.forEach(item => {
const key = item.getValue().country;
const value = item.getValue().city;
if (myMap.has(key)) {
myMap.get(key).push(value);
} else {
myMap.set(key, [value]);
}
});
for (const [key, value] of myMap) {
console.log(`${key} = ${value}`);
}