A functional approach in order to get digits from a number would be to get a string from your number, split it into an array (of characters) and map each element back into a number.
For example:
var number = 123456; var array = number.toString() .split('') .map(function(item, index) { return parseInt(item); }); console.log(array); // returns [1, 2, 3, 4, 5, 6]
If you also need to sum all digits, you can append the reduce() method to the previous code:
var num = 123456; var array = num.toString() .split('') .map(function(item, index) { return parseInt(item); }) .reduce(function(previousValue, currentValue, index, array) { return previousValue + currentValue; }, 0); console.log(array); // returns 21
As an alternative, with ECMAScript 2015 (6th Edition), you can use arrow functions:
var number = 123456; var array = number.toString().split('').map((item, index) => parseInt(item)); console.log(array); // returns [1, 2, 3, 4, 5, 6]
If you need to sum all digits, you can append the reduce() method to the previous code:
var num = 123456; var result = num.toString() .split('') .map((item, index) => parseInt(item)) .reduce((previousValue, currentValue) => previousValue + currentValue, 0); console.log(result); // returns 21