Показать сообщение отдельно
  #1 (permalink)  
Старый 02.04.2021, 22:03
Новичок на форуме
Отправить личное сообщение для один Посмотреть профиль Найти все сообщения от один
 
Регистрация: 02.04.2021
Сообщений: 5

Помогите:Не работает callback в arr.reduce()
Задача из учебника Кантора, раздел "Методы массивов":
Получить средний возраст: Напишите функцию getAverageAge(users) , которая принимает массив объектов со свойством age и возвращает средний возраст.
let vasya = { name: "Вася", age: 25 };
let petya = { name: "Петя", age: 30 };
let masha = { name: "Маша", age: 29 };
let arr = [ vasya, petya, masha ];


ТАК РАБОТАЕТ:
function getAverageAge(users) {
    return users.reduce((prev, user) => prev + user.age, 0) / users.length;
}


ТАК НЕ РАБОТАЕТ(возвращает NaN):
function getAverageAge(users) {
    return  users.reduce(function (prev, user) {
    prev + user.age;},0) / users.length;
}


ПОЧЕМУ НЕ РАБОТАЕТ?
Ведь все то же самое, кроме формы функции?
ПАМАГИТЕ бедному школьнику понять!!

Последний раз редактировалось один, 02.04.2021 в 22:06.
Ответить с цитированием