Вопрос №432 от пользователя user-5e1bae9475bd975b в уроке «Замыкания в JavaScript», курс «Введение в Javascript»

user-5e1bae9475bd975b

function generateAverageMultiplier(mult){
    return function() { 
        return Array.prototype.slice.call(arguments).reduce(
            function(prevVal, curVal) {
                return prevVal + curVal;
            }
        ) / arguments.length * mult;
    }
}

var averageSevenMultiplier = generateAverageMultiplier(7);
var averageTenMultiplier = generateAverageMultiplier(10);
var averageThirteenMultiplier = generateAverageMultiplier(13);

console.log(averageTenMultiplier(1, 3, 5)); //30
console.log(averageSevenMultiplier(2, 4, 8, 2)); // 28
console.log(averageThirteenMultiplier(1, 2, 3)); // 26
1 0

Daniel Newman

В доролнении к вашему комментарию. Подробнее о магии данного решения: return Array.prototype.slice.call(arguments).reduce(... коллекции-не-массивы

reduce неплохо разобран в соответствующей лекции hexlet.

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев