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

174
Views
Quedé atrapado en un bucle infinito

Por favor, ayuda aquí. Quiero imprimir en la consola todos los elementos de la matriz con la condición de que no sean números y no comiencen con la letra "A".

Creo que el problema es donde poner el i += 1; pero en realidad cuando estoy cambiando su posición, la salida no es lo que necesito.

Intenté hacerlo con for y todo salió bien, pero no sé cuál es el problema con while.

Aquí está el código:

 let friends = ["Ahmed", "Sayed", "Ali", 1, 2, "Mahmoud", "Amany"]; let i = 0; while (i < friends.length) { if (friends[i][0] === "A" || typeof friends[i] === "number") { continue; } console.log(friends[i]); i += 1; }

Intenté usar while para hacer lo que dije anteriormente.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Como ya tiene una matriz, un mejor enfoque para esto sería simplemente recorrerla. De esa manera podrías evitar el ciclo while por completo.

 let friends = ["Ahmed", "Sayed", "Ali", 1, 2, "Mahmoud", "Amany"]; const filteredFriends = friends.filter(friend => friend[0] !== 'A' && typeof friend !== 'number'); console.log(filteredFriends);

documentación para filtro ()

La razón por la que estaba obteniendo un bucle infinito es por la declaración de continue dentro de if . Eso omite el resto del código para esa iteración y i += 1 no se ejecuta.

about 4 years ago · Juan Pablo Isaza Report

0

Cuando continue , no incrementa i , por lo que en la próxima iteración i permanece igual.

Siempre puede usar for ... of para eliminar la necesidad de incrementar manualmente i

 let friends = ["Ahmed", "Sayed", "Ali", 1, 2, "Mahmoud", "Amany"]; for (const friend of friends) { if (typeof friend === "number" || friend[0] === "A") { continue; } console.log(friend); }

about 4 years ago · Juan Pablo Isaza Report

0

Debe aumentar i cada vez que realiza un ciclo o su condición while nunca se resolverá (a menos que todos cumplan con su condición).

 while (i < friends.length) { if (friends[i][0] !== "A" && typeof friends[i] !== "number") { console.log(friends[i]); } i += 1; }

* Cambié la condición para buscar el resultado deseado en lugar del negativo (solo una preferencia personal).

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!