Операция ... (rest) в JS сбор в массив выбранной части параметров функции

Функция addOverNum() считает сумму всех аргументов. Измени параметры и тело функции addOverNum() таким образом, чтобы она считала сумму только тех аргументов, которые больше заданного числа. Это число должно являться первым параметром функции.
Вот условия задачи:

// Change code below this line
function addOverNum(...args) {
  let total = 0;

  for (const arg of args) {
    total += arg;
  }

  return total;
  // Change code above this line
}

Вот моё решение - оно не работает. Прошу подкорректировать, что не так?

// Change code below this line
function addOverNum(firstNumber, ...args) {
   let total = 0;

   for (let i = 0; i < args.length; i += 1) {
     if(arg[i] > firstNumber) {
       continue;
     }
     total += arg;
   }

   return total;
// Change code above this line
}

Это условие переводится в код дословно. Такой подход дословного перевода работает не всегда, но в целом стоит рассматривать этот подход когда перебираешь возможные варианты решения:

if(args[i] > firstNumber) {
    total += args[i]; 
}

Вот и все решение (continue не нужно).


total += arg; тут описка, переменной arg нет, да и использовать нужно значение из массива: args[i]

1 лайк

Спасибо!