Главный недостаток в том что это старая школа и явно взято из учебников 15-летней давности.
Современный Javascript сильно отличается от этого примера, сейчас для нахождения среднего арифметическое массива напишут скорее вот так
let arr = new Array(1,2,3,4)
const mean = x => (x.reduce((acc, i) => acc + parseInt(i), 0)) / x.length
alert(mean(arr))
ПавелПросветленный (25618)
1 год назад
Из какого века вы достали new Array() когда весь мир использует скобки "[]"? Говорите про современность а пишите как мамонт. Метод reduce появился в 2009. Цикл for..of в 2015. Если кто-то и берёт знания из 15-ти летнего учебника, то это вы.
"Нововведенные" методы не делаю код более читаемым или производительным а в вашем случае лишь делает и того короткий код ещё более коротким. В первом примере хотя бы сразу понятна цель написанного.
function sum(arr) {
let res = 0;
for (let elem of arr) {
res += elem;
}
return res / arr.length;
}