Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

178
Views
¿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 answers
Answer question

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 Report

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 Report

0

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

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!