El problema dice algo así.
Dado un entero como argumento, regresarlo con sus dígitos en orden descendiente. Ejemplo 123456789 debe regresar 987654321
Solución
La solución que planteé es la siguiente:
- Convertir el número a cadena y separarlo para obtener un arreglo
- Ordenar el arreglo
- Revertir el arreglo
- Unir el arreglo para obtener una cadena
- Convertir la cadena a entero
1.- Dividiendo el numero con split
Lo primero que se hace es separar cada digito del número con el método split(), pero antes de esto debemos de convertirlo a cadena. Recuerda que split se especifica el separador con el cual queremos separar la cadena, pero en este caso se deja vacío porque queremos cada caracter de la cadena. Hasta aquí quedaría
2.- Ordenar el arreglo con sort
Ahora debemos ordenar los elementos del arreglo, la forma fácil es con el método sort(). Este método puede recibir una función de comparación, pero en este caso es no nos interesa. Hasta ahora va así
3.- Revertir el arreglo con reverse
El método reverse() como su nombre lo indica, revierte el arreglo colocando el primer elemento al final y el último al principio, en palabras fáciles de comprender hace que el orden sea al revés. Hasta ahora va así
4.- Unir los elementos del arreglo con join
El método join() se emplea para unir los elementos de un arreglo y representarlos como una cadena. En él podemos establecer el separador si es que se desea. Pero no lo queremos separados, entonces luce así
5.- Convertir cadena a entero
Por último la cadena obtenida la convertimos a entero con el método parseInt(). Y al final el resultado es el siguiente