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?

1voto

John David Points 153

Je poste cette réponse pour présenter l'utilisation de unshift qui est une solution moderne. Avec push, vous ajoutez à la fin d'un tableau tandis que unshift ajoute au début. Cela rend l'approche mathématique plus puissante car vous n'avez plus besoin de faire de reverse.

let num = 278;
let digits = [];
while (num > 0) {
    digits.unshift(num % 10);
    num = parseInt(num / 10);
}
console.log(digits);

1voto

Jostein S Points 136

Et comme une seule ligne.

console.log(BigInt(1e200).toString().split('').reduce((pv, v) => Number(v) + pv, 0));

0voto

Esailija Points 74052
var num = 111,
 separateDigits = num.toString().split(""), i, l = separateDigits.length;

for( i = 0; i < l; ++i ) {
someObject.someMethod( +separateDigits[i] );
}

0voto

Aditya Raj Points 147

Vous pouvez essayer ceci.

  var num = 99;

  num=num.toString().split("").map(value=>parseInt(value,10)); //output [9,9]

J'espère que cela vous aidera!

0voto

user2584621 Points 1
fonction itérerNombre(N, f) {
    laissez n = N;
    var longueur = Math.log(n) * Math.LOG10E + 1 | 0;
    pour (laissez i = 0; i < longueur; i++) {
        const puissance = Math.pow(10, longueur - i - 1)
        laissez c = (n - (n % puissance)) / puissance
        f(c, i)
        n %= puissance
    }
}

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