Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Сумма параметров функции рекурсивно (https://javascript.ru/forum/css-html/80904-summa-parametrov-funkcii-rekursivno.html)

Дмитрий125690 24.08.2020 11:33

Сумма параметров функции рекурсивно
 
Не получается найти сумму аргументов функции с помощью рекурсии. если передан массив, то понял как это делается (уже была такая тема здесь),если без рекурсии, то тоже не возникает проблем.

пробую передать параметры через спред оператор, но выдает ошибку. подскажите, что делаю не так?

let sum = 0;
let i = 0;

function summ(...arr) {
  if (arr.length !== i) {
    sum = sum + summ(arr[i])
    i++;
    return sum
  } else return sum
}
summ(5, 7, 10, 1, 39)

рони 24.08.2020 12:12

Цитата:

Сообщение от Дмитрий125690
Сумма параметров функции рекурсивно

:-?
function summ(a, ...arr) {
  let {length} = arr;
  return length ? a + summ(...arr) : a
}

alert(summ(5, 7, 10, 1, 39))


const summ = (...[a, ...b]) => b.length ? a + summ(...b) : a;
console.log(summ(5, 7, 10, 1, 39))


Часовой пояс GMT +3, время: 17:28.