Я пытаюсь отобразить массив объектов в словарь, используя машинопись. Я написал следующий код:
let data = [
{id: 1, country: 'Germany', population: 83623528},
{id: 2, country: 'Austria', population: 8975552},
{id: 3, country: 'Switzerland', population: 8616571}
];
let dictionary = Object.assign({}, ...data.map((x) => ({[x.id]: x.country})));
Я получаю вывод, как показано ниже:
{1: "Germany", 2: "Austria", 3: "Switzerland"}
Я также хочу получить население в выводе, и для этого я делаю следующее изменение кода, но это приводит к синтаксической ошибке:
let dictionary = Object.assign({}, ...data.map((x) => ({[x.id]: x.country, x.population})));
Требуемый вывод похож на ниже:
{
"1": {
"country": "Germany",
"population": 83623528
},
"2": {
"country": "Austria",
"population": 8975552
},
"3": {
"country": "Switzerland",
"population": 8616571
}
}