@Sirius077

Почему результат reduce странный?

Почему когда делаю так:
function getAverageAge(users) {
  
  let sum = users.reduce(function(accum, item) {
    let average = accum + item.age;
     return average / users.length;
    
  },0)
 return sum
}

let vasya = { name: "Вася", age: 25 };
let petya = { name: "Петя", age: 30 };
let masha = { name: "Маша", age: 29 };

let arr = [ vasya, petya, masha ];

alert( getAverageAge(arr) ); // (25 + 30 + 29) / 3 = 28

выводит результат 13.925... хотя должен 28, по отдельности users.length = 3 а average = 84 . Почему так происходит тут?
  • Вопрос задан
  • 114 просмотров
Решения вопроса 1
Seasle
@Seasle Куратор тега JavaScript
\( ゚ヮ゚)/
Потому что в каждой следующей итерации Вы возвращаете "сумму" разделенную на количество.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Artezio Нижний Новгород
от 130 000 до 180 000 ₽
Intspirit Краснодар
от 80 000 до 150 000 ₽
Artezio Москва
от 160 000 до 220 000 ₽
27 янв. 2021, в 13:44
800 руб./за проект
27 янв. 2021, в 13:27
1200 руб./за проект
27 янв. 2021, в 13:12
1000000 руб./за проект