Суть в том, что не могу получить полный массив из чисел. Что только не перебирал для этого, но он заносит только первое значение в массив.
Как решить данную проблему? Пытался преобразовать в строку, но тоже выводит только 1 значение.
function mostNumbers(numbers) {
var arr = [numbers];
console.log(arr);
}
console.log(mostNumbers(1, 2, 3));
function mostNumbers() {
var arr = [];
for (var i = 0; i < arguments.length; i++) {
arr.push(arguments[i]);
}
return arr;
}
console.log(mostNumbers(1, 2, 3));
Или так :
function mostNumbers() {
return Array.from(arguments);
}
console.log(mostNumbers(3, 2, 7));
Array.from
ES6, детка
function mostNumbers() {
return [...arguments];
}
console.log(mostNumbers(3, 2, 7));
function mostNumbers(...numbers) {
return numbers;
}
console.log(mostNumbers(3, 2, 7));
Проблема данных методов на данном этапе, что нет проверки на тип. Поэтому либо надо доверять тому, что приходит в функцию, либо делать проверку, а это цикл ¯\_(ツ)_/¯
Дело в том, что в твоем примере функция всегда принимает только один параметр, сколько бы ты их ни передавал в функцию. Это ты и наблюдаешь.
Почитай про функции с произвольным кол-вом параметров и как получить к ним доступ, например: https://learn.javascript.ru/arguments-pseudoarray
Т.е. узнаешь кол-во параметров, создаешь массив нужного размера, а потом в цикле заполняешь.
Ну или передавай как параметр сразу массиы целиком,
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники