How to convert an integer into an array of digits

**** 2019 Answer ****

This single line will do the trick:

Array.from(String(12345), Number);

Example

const numToSeparate = 12345;

const arrayOfDigits = Array.from(String(numToSeparate), Number);

console.log(arrayOfDigits);   //[1,2,3,4,5]

Explanation

1- String(numToSeparate) will convert the number 12345 into a string, returning ‘12345’

2- The Array.from() method creates a new Array instance from an array-like or iterable object, the string ‘12345’ is an iterable object, so it will create an Array from it.

3- In the process of creating this new array, the Array.from() method will first pass any iterable element (ex: ‘1’, ‘2’) to the callback we declare as a second parameter (which is the Number function in this case). This is possible because an String is an “array-like” object.
To make it simpler, we could’ve declared the callback as:
Array.from(String(numToSeparate), n => Number(n)

4- The Number function will take any string character and will convert it into a number eg: Number('1'); will return 1.

5- These numbers will be added one by one to a new array and finally this array of numbers will be returned.

Summary

The code line Array.from(String(numToSeparate), Number); will convert the number into a string, take each character of that string, convert it into a number and put in a new array. Finally, this new array of numbers will be returned.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)