Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

Как числа преобразовать в массив?

#javascript


Суть в том, что не могу получить полный массив из чисел. Что только не перебирал
для этого, но он заносит только первое значение в массив.

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



function mostNumbers(numbers) {
  var arr = [numbers];
  console.log(arr);
}

console.log(mostNumbers(1, 2, 3));



    


Ответы

Ответ 1



Или так : function mostNumbers() { return Array.from(arguments); } console.log(mostNumbers(3, 2, 7)); Array.from

Ответ 2



ES6, детка 1. function mostNumbers() { return [...arguments]; } console.log(mostNumbers(3, 2, 7)); 2. function mostNumbers(...numbers) { return numbers; } console.log(mostNumbers(3, 2, 7)); Проблема данных методов на данном этапе, что нет проверки на тип. Поэтому либо надо доверять тому, что приходит в функцию, либо делать проверку, а это цикл ¯\_(ツ)_/¯

Ответ 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));

Ответ 4



Дело в том, что в твоем примере функция всегда принимает только один параметр, сколько бы ты их ни передавал в функцию. Это ты и наблюдаешь. Почитай про функции с произвольным кол-вом параметров и как получить к ним доступ, например: https://learn.javascript.ru/arguments-pseudoarray Т.е. узнаешь кол-во параметров, создаешь массив нужного размера, а потом в цикле заполняешь. Ну или передавай как параметр сразу массиы целиком,

Комментариев нет:

Отправить комментарий