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

173
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 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