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

185
Vistas
¿Cómo puedo usar un bucle for para eliminar espacios vacíos a la izquierda y a la derecha de una cadena en JavaScript?

Estoy tratando de hacer un método de JavaScript de trim() casero. Quiero decir, lo que quiero hacer se puede lograr usando trim() : para eliminar todos los espacios en blanco de la izquierda y la derecha de la string .

Se me ocurrió esta engorrosa solución; Creo que debería funcionar, pero no funciona en absoluto; en cambio, está eliminando todos los elementos de la string array y dejando solo una array de cadenas con un espacio vacío como elemento único.

Aquí hay un fragmento de ejecución del código que hice:

 const stringWithManyWhiteSpaces = ' I like ants... Remember us '; const charArray = [...stringWithManyWhiteSpaces]; function killLeftToRight(charArr) { for ( let i = 0; i < charArr.length; i++) { if (charArr[i] === ' ') { charArr.splice(i + 1); } else { break; } } } function killRightToLeft(charArr) { for ( let i = charArr.length -1; i >= 0; i--) { if (charArr[i] === ' ') { charArr.splice(i + 1); } else { break; } } } function myTrim(){ killRightToLeft(charArray) killLeftToRight(charArray); console.log(charArray) } myTrim();

¿Puede alguien dejarme averiguar qué está mal con mi código? Muchas gracias.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

  • Para eliminar elementos de una matriz, el splice requiere que especifique cuántos eliminar, en el segundo argumento
  • splice eliminará el elemento en el índice dado de la matriz, por lo que en la próxima iteración, si está iterando a través de índices en orden ascendente, puede "omitir" un elemento, debido a que su índice se acaba de volver a calcular

Más fácil de usar .pop (eliminar desde el final) y .shift (eliminar desde el principio).

 const stringWithManyWhiteSpaces = ' I like ants... Remember us '; function killLeftToRight(charArr) { while (charArr[0] === ' ') { charArr.shift(); } } function killRightToLeft(charArr) { while (charArr[charArr.length - 1] === ' ') { charArr.pop(); } } function myTrim(str){ const charArray = [...str]; killRightToLeft(charArray); killLeftToRight(charArray); console.log(charArray.join('')); } myTrim(stringWithManyWhiteSpaces);

about 4 years ago · Juan Pablo Isaza Denunciar

0

su enfoque se puede cambiar de diferentes maneras, por lo que funcionaría bien como se mencionó en la respuesta anterior, pero si su objetivo es tener su propia implementación para recortar, ¿qué tal si lo implementa de una manera más simple?:

 const stringWithManyWhiteSpaces = ` I like ants... Remember us `; function trimMe(stringToTrim) { return stringToTrim.replace(/^[\s\n]+|[\s\n]+$/g, '') } console.log(trimMe(stringWithManyWhiteSpaces));

about 4 years ago · Juan Pablo Isaza Denunciar

0

todo lo que necesita para eliminar los espacios en blanco es string.trim()

about 4 years ago · Juan Pablo Isaza Denunciar
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