Помогите:Не работает 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; } ПОЧЕМУ НЕ РАБОТАЕТ? Ведь все то же самое, кроме формы функции?:cray: ПАМАГИТЕ бедному школьнику понять!!:cray: |
Цитата:
let vasya = { name: "Вася", age: 25 }; let petya = { name: "Петя", age: 30 }; let masha = { name: "Маша", age: 29 }; let arr = [ vasya, petya, masha ]; alert(getAverageAge(arr)) function getAverageAge(users) { return users.reduce( function (prev, user) { return prev + user.age; }, 0 ) / users.length; } А то взял первое... Добавил часть второго... Потом спрашиваешь почему не работает?!!! Второе нужно писать полностью, а не только его первую часть. |
Пропустил return во внутренней ф-ции. Надо же.
Спасибо! |
Часовой пояс GMT +3, время: 20:56. |