@AlexNew22

Как передать в аргументы функции карирования старые аргумент + новые?

Почитал теорию про карирование, но не совсем понял, как мне вернуть мою же функцию со старыми аргументами + новые, которые я ещё буду добавлять?
function carry(x) {
  const num = x
  return function func(...args) {
    if(arguments.length >= 5) return num + args.reduce((acc, val) => acc + val, 0)
    // return func(...args)
  }
}


const c = carry(100)
c(10)
c(30, 40)
c(50, 60, 70, 80)

Что бы посчитало сумму только 5 аргументов
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const sum5 = (...args) =>
  args.length > 4
    ? args.slice(0, 5).reduce((acc, n) => acc + n, 0)
    : sum5.bind(null, ...args);
//  или
//  : (...args2) => sum5(...args, ...args2);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы