Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

212
Vistas
¿Cómo optimizar el código? (cadena inversa)

La tarea dice: Cambie el orden de las palabras en una oración pero deje que los caracteres no alfanuméricos permanezcan en el mismo lugar, por ejemplo: 'Hola, aquí hay mundo'. -> "aquí, mundo es Hola".

Hasta ahora he creado algo como esto, pero necesito optimizarlo (hay demasiados bucles).

 var text = 'Hello, it is world here.'; function reverseFunc(text){ let alpha = text.match(/[a-z0-9]+/gi).reverse(); let nonAlpha = text.match(/[\W_]+/gi); let result = []; console.log("Alpha : " + alpha) console.log("Non alpha : " +nonAlpha) if(alpha == null || nonAlpha == null) console.log(text) else if((/[a-z0-9]/i).test(text.split("")[0])){ if (alpha.length == nonAlpha.length) { for (let i = 0; i < nonAlpha.length; i++) { result.push(alpha[i], nonAlpha[i]); } console.log(result.join("")) return(result.join("")) }else{ for (let i = 0; i < alpha.length; i++) { result.push(alpha[i], nonAlpha[i]); } console.log(result.join("")) return(result.join("")) } }else{ if (nonAlpha.length == alpha.length) { for (let i = 0; i < alpha.length; i++) { result.push(nonAlpha[i], alpha[i]); } console.log(result.join("")) return(result.join("")) }else{ for (let i = 0; i < nonAlpha.length; i++) { result.push(nonAlpha[i], alpha[i]); } console.log(result.join("")) return(result.join("")) } } } reverseFunc(text)

También tengo un problema cuando el texto tiene solo 1 carácter, por ejemplo, "." o " ". Intenté esto:

 if(alpha == null || nonAlpha == null) console.log(text)

pero parece que solo funciona para caracteres alfanuméricos. ¿Cómo se podría corregir este algoritmo?

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda