Answer

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)

Report Page