Вы повторили уменьшение для каждого элемента массива. Что делают другие ответы, они не уменьшили массив до среднего результата, вместо этого они суммировали, а затем уменьшили, и вам потребовалось 2 шага, чтобы сделать это.
Хорошие функциональные программисты, мы хотим думать как один " чистый, один выстрел " способ превратить наши входные данные в то, что мы действительно хотим. Это должно оставить чуть-чуть запаха кода.
Лучший способ сделать это - использовать пару поддерживаемых аргументов функции Reduce.
См. Код и надеюсь, что поможет с вашим ответом. Удачного кодирования:)
var arr = [129, 139, 155, 176];
function reducer(acc, value, index, array) {
var calculatedValue = acc + value;
if (index === array.length - 1) {
return calculatedValue / array.length;
}
return calculatedValue;
}
var result = arr.reduce(reducer, 0);
console.log(result);