Tengo una cadena como la siguiente. La cadena contiene palabras que contienen un número del 0 al 9. El número es la posición que deben tener en la cadena resultante. Si la cadena está vacía, el resultado será una cadena vacía
Ejemplo: "en5 4terremoto NAS1A regi2stró L0a M6arte u3n"
Resultado:
"L0a NAS1A regi2stró u3n 4terremoto en5 M6arte"¿Cómo recorrer la cadena y ordenarla, teniendo en cuenta el número de cada palabra?
Hasta ahora, aplicaba el método de división a la cadena original para separarlos.
const mensaje = 'en5 4terremoto NAS1A regi2stró L0a M6arte u3n'; const arr = mensaje.split(' '); console.log(arr);Aprecio tu ayuda
Puede tomar cada palabra y eliminar todos los que no sean dígitos (con una expresión regular) y usar eso como índice en una matriz de resultados:
const mensaje = "en5 4terremoto NAS1A regi2stró L0a M6arte u3n"; const result = []; for (const word of mensaje.split(" ")) { result[word.replace(/\D/g, "")] = word; } console.log(result);