Answer
t.me/js_testОтвет:
Необходимо добавить в функцию, переданную в метод reduce
, возврат переменной gdps
.
Пример исправленного кода:
const towns = { town1: { population: 12000, balance: 180000, }, town2: { population: 600, balance: 42000, }, }; const GDPs = Object.entries(towns) .reduce((gdps, [key, value]) => { const { population, balance } = value; gdps[key] = balance / population; return gdps; },{}) console.log(GDPs)
Объяснение:
Метод reduce
передает результат выполнения функции внутри него снова в эту же функцию для следующего элемента массива. Поэтому когда reduce
начнет выполнять функцию для town2
переменная gdps
будет равна undefined
, что приведет к ошибке.
Код для проверки:
const towns = { town1: { population: 12000, balance: 180000, }, town2: { population: 600, balance: 42000, }, }; const GDPs = Object.entries(towns) .reduce((gdps, [key, value]) => { const { population, balance } = value; gdps[key] = balance / population; },{}) console.log(GDPs)