> Как собрать неопределённое количество аргументов функции в JavaScript и работать с ними (JavaScript)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Яндекс
Стек: JavaScript
> Пример ответа
В JavaScript для сбора неопределённого количества аргументов используются rest-параметры (синтаксис ...). Они позволяют представить все переданные аргументы как массив.
Пример с rest-параметрами:
JAVASCRIPTfunction sumAll(...numbers) {return numbers.reduce((acc, num) => acc + num, 0);}console.log(sumAll(1, 2, 3)); // 6console.log(sumAll(10, 20)); // 30console.log(sumAll()); // 0
Rest-параметр обязательно должен быть последним в списке параметров.
Альтернативный способ (устаревший): объект arguments (доступен только в обычных функциях, не в стрелочных):
JAVASCRIPTfunction logArgs() {for (let i = 0; i < arguments.length; i++) {console.log(arguments[i]);}}logArgs('a', 'b', 'c'); // a, b, c
Однако arguments - не настоящий массив, а псевдомассив, поэтому методы массивов (например, map, filter) напрямую не работают. Rest-параметры предпочтительнее, так как возвращают полноценный массив.
> Похожие задачи по frontend
Что должен возвращать колбэк в методе sort в JavaScript
Каков порядок выполнения синхронных задач, микротасков и макротасков в JavaScript
Как работает функция groupBy в JavaScript
Что возвращает метод filter в JavaScript, если ни один элемент не подходит под условие
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью