descomponer un numero js

Descomponer un numero js

Descomponer un número en JavaScript se refiere a dividir un número en sus componentes individuales, es decir, a separar los dígitos que lo componen.

Forma 1: Convertir a cadena y dividir

La forma más sencilla de descomponer un número en JavaScript es convertirlo en una cadena y luego dividirlo en sus componentes utilizando el método split().

let numero = 12345;
let digitos = numero.toString().split('');

console.log(digitos); // ["1", "2", "3", "4", "5"]

Primero, convertimos el número en una cadena utilizando el método toString(). Luego, utilizamos el método split('') para dividir los dígitos. El parámetro vacío indica que queremos dividir la cadena en cada carácter individual.

Forma 2: División y módulo

Otra forma de descomponer un número en JavaScript es utilizando la división y el módulo. La idea es ir dividiendo el número entre 10 y obteniendo el residuo (módulo) de esa división. El residuo corresponde al dígito menos significativo del número original. Luego, dividimos el cociente entre 10 y obtenemos su residuo. Y así sucesivamente hasta haber obtenido todos los dígitos.

let numero = 12345;
let digitos = [];

while (numero > 0) {
  digitos.push(numero % 10);
  numero = Math.floor(numero / 10);
}

digitos.reverse();

console.log(digitos); // [1, 2, 3, 4, 5]

Primero, inicializamos un arreglo vacío digitos. Luego, creamos un bucle while que se ejecuta mientras el número sea mayor que cero. En cada iteración, obtenemos el residuo de la división del número entre 10 y lo agregamos al arreglo digitos. Luego, dividimos el número entre 10 y redondeamos hacia abajo utilizando la función Math.floor() para obtener el cociente. Este proceso se repite hasta que el número sea cero. Finalmente, invertimos el arreglo utilizando el método reverse() para obtener los dígitos en orden correcto.

Forma 3: Recursión

Otra forma de descomponer un número en JavaScript es utilizando la recursión. La idea es llamar a una función recursivamente para obtener los dígitos del número. En cada llamado recursivo, obtenemos el residuo de la división del número entre 10 y lo agregamos a un arreglo. Luego, dividimos el número entre 10 y llamamos a la función recursivamente pasando el cociente como parámetro. Este proceso se repite hasta que el número sea cero.

function descomponer(numero) {
  if (numero === 0) {
    return [];
  } else {
    let digitos = descomponer(Math.floor(numero / 10));
    digitos.push(numero % 10);
    return digitos;
  }
}

let numero = 12345;
let digitos = descomponer(numero);

console.log(digitos); // [1, 2, 3, 4, 5]

Primero, definimos una función descomponer() que toma un número como parámetro. Si el número es cero, retornamos un arreglo vacío. De lo contrario, llamamos a la función recursivamente pasando el cociente como parámetro y obtenemos los dígitos en orden inverso. Luego, obtenemos el residuo de la división del número entre 10 y lo agregamos al arreglo de dígitos. Finalmente, retornamos el arreglo.

En este ejemplo, llamamos a la función descomponer() con el número 12345 y almacenamos el resultado en la variable digitos.

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe