Преобразование числа в массив заключается в том, что мы разбиваем число на цифры, которые будут являться элементами массива.
Рассмотрим самые популярные подходы осуществления данной операции.
Array.from()
Метод позволяет преобразовать в массив указанный строчный элемент. Поскольку исходные данные числового типа, их необходимо сделать строкой. Однако, чтобы массив состоял из чисел, их необходимо обратно преобразовать. Получается некая двойная конвертация.
const num = 48621;
const arrayOfStrings = Array.from(String(num)); // ['4', '8', '6', '2', '1'] - без обратного преобразования получим массив из строк
const arrayOfDigits = Array.from(String(num), Number); // [4, 8, 6, 2, 1]
map()
Способ сутью похож на предыдущий, но только преобразование в строку выполняем, добавляя пустой элемент, перебираем числа с помощью метода map(), а обратное конвертирование осуществляем унарным оператором.
let num = 48621;
let array = ('' + num).split('').map(function(digit){
return +digit;
});
// [4, 8, 6, 2, 1]
Цикл while
Чтобы избежать лишних преобразований в строки, можно воспользоваться циклом while, который будет отрабатывать столько раз, сколько разрядностей у нашего числа. Хитрый способ заключается в том, что на каждой итерации цикла мы делим число на 10, остаток заносим в массив и уменьшаем разрядность числа.
let num = 48621;
let array = [];
while(num>0){
array.unshift(num%10);
num=num/10|0;
}
// [4, 8, 6, 2, 1]