Une approche fonctionnelle pour obtenir les chiffres d'un nombre
consisterait à obtenir une chaîne
à partir de votre nombre
, la diviser en un tableau
(de caractères) et mapper chaque élément en un nombre.
Par exemple:
var number = 123456;
var array = number.toString()
.split('')
.map(function(item, index) {
return parseInt(item);
});
console.log(array); // retourne [1, 2, 3, 4, 5, 6]
Si vous avez également besoin de sommer tous les chiffres, vous pouvez ajouter la méthode reduce()
au code précédent:
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); // retourne 21
En alternative, avec ECMAScript 2015 (6ème édition), vous pouvez utiliser les fonctions fléchées:
var number = 123456;
var array = number.toString().split('').map((item, index) => parseInt(item));
console.log(array); // retourne [1, 2, 3, 4, 5, 6]
Si vous avez besoin de sommer tous les chiffres, vous pouvez ajouter la méthode reduce()
au code précédent:
var num = 123456;
var result = num.toString()
.split('')
.map((item, index) => parseInt(item))
.reduce((previousValue, currentValue) => previousValue + currentValue, 0);
console.log(result); // retourne 21