111 votes

Veuillez traduire ceci tout en conservant les mêmes balises HTML, le cas échéant, de l'anglais vers le français : JavaScript Nombre divisé en chiffres individuels

Je suis en train d'essayer de résoudre un problème de mathématiques où je prends un nombre par exemple 45, ou 111 et ensuite je divise le nombre en chiffres séparés par exemple 4 5 ou 1 1 1. Ensuite, je vais enregistrer chaque nombre dans une variable pour exécuter une méthode. Est-ce que quelqu'un sait comment diviser un nombre en chiffres individuels?

Par exemple, j'ai une boucle qui s'exécute sur un tableau :

for (var i = 0; i < range.length; i++) {
  var n = range[i];
}

Pour chaque nombre, j'aimerais diviser ses chiffres et les additionner?

0voto

gkelly Points 228

('' + 123456789).split('').map( x => +x ).reduce( (a,b) => a+b ) === 45

true

ou sans map

('' + 123456789).split('').reduce( (a,b) => (+a)+(+b) ) === 45

true

0voto

Stst Points 11

Vous pouvez le faire en une seule ligne, séparez chaque chiffre, puis additionnez-les :

var may = 12987;
var sep = (""+may).split("").map(n=>+n).reduce((a,b)=>a+b);

0voto

Todor Markov Points 56

Ceci est ma courte solution.. avec la somme des nombres

    function sum (num) {
    let sNumber = num
        .toString()
        .split('')
        .reduce((el1, el2) => {
            return Number(el1) + Number(el2)
        }, 0)
        return sNumber
     }

console.log(sum(123))
console.log(sum(456))

0voto

Javascript a une fonction pour cela et vous pouvez l'utiliser facilement.

console.log(new Intl.NumberFormat().format(number));

par exemple :

console.log(new Intl.NumberFormat().format(2334325443534));
==> 2,334,325,443,534

0voto

Yi-Ting Liu Points 737

Itérer à travers chaque nombre avec l'for...of instruction.

En ajoutant un signe + avant une chaîne de caractères, celle-ci sera convertie en nombre.

const num = 143,
  digits = [];

for (const digit of `${num}`) {
  digits.push(+digit)
}
console.log(digits);

Inspiré par @iampopov Vous pouvez l'écrire avec la syntaxe de propagation.

const num = 143;
const digits = [...`${num}`].map(Number);
console.log(digits);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X