Используя операцию rest, дополни код функции add() таким образом, чтобы она принимала любое количество аргументов, считала и возвращала их сумму.
// Изменить код под этой строкой
function add() {
// Изменить код над этой строкой
}
В чем именно заминка? Какой код уже есть? Мы тут стремимся не давать говые ответы а подсказывать с непонятными моментами. Раздаем удочки голодным вместо того чтобы их кормить.
function add(…args) {
return args;
}
Это все, что я понял. Но этого недостаточно - не принимается любое количество. Как записать - в этом и вопрос
Конкретно этот код делает следующее: в переменную args
записывает массив аргументов и этот массив возвращает. Не хватает шага который бы посчитал сумму из массива и вернул бы эту сумму. Задача сводится к поиску суммы элементов массива, детали которой расписаны тут: Как найти сумму элементов массива
Думаю это ошибка понимания. Код действительно принимает любое количество аргументов. Что именно происходит я расписал выше. А вот код проверки утверждения “принимает любое количество аргументов”:
function add(...args) {
return args;
}
console.log(add(1))
console.log(add(2,3))
console.log(add(4,5,6))
Буду переваривать - незнакомый синтаксис (i++) и (var) - если я понял это аналог const или let. И перебор аргументов попробую через for… of - но не получается. Значит недопонимаю что то…
И еще. Я не знаю даешь ли ты отчет этому, но в твоем куске кода используется троеточие как единый символ …
. Чтобы js верно интерпретировал этот код нужно использовать три символа точки ...
.
Можешь думать про var как про let
, даже просто заменить все var
-ы let
-ы.
Дай код. Скажи что ожидаешь в результате выполнения и что видишь в результате выполнения.
Отталкивайся в решении от рабочих кусочков (рабочесть нужно подтверждать отдельно) которые или сам написал или нашел в интернете. Например вот пример for-of цикла, попробуй адаптировать его так чтобы пока выводить в консоль элементы из массива аргументов. Когда эта часть заработает, займись вопросом суммирования этих элементов.