Функциональный подход для получения цифр от number
состоит в том, чтобы получить string
от вашего number
, разделить его на array
(символов) и сопоставить каждый элемент обратно в число.
Например:
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]
Если вам также необходимо сложить все цифры, вы можете добавить метод reduce()
к предыдущему коду:
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
В качестве альтернативы, в ECMAScript 2015 (6-е издание) вы можете использовать функции стрелок :
var number = 123456;
var array = number.toString().split('').map((item, index) => parseInt(item));
console.log(array); // returns [1, 2, 3, 4, 5, 6]
Если вам нужно сложить все цифры, вы можете добавить метод reduce()
к предыдущему коду:
var num = 123456;
var result = num.toString()
.split('')
.map((item, index) => parseInt(item))
.reduce((previousValue, currentValue) => previousValue + currentValue, 0);
console.log(result); // returns 21