Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

179
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

0

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

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda