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

175
Vistas
Got stuck in an infinite loop

Please help here I wanna print in the console all array elements in condition that they are not numbers and they do not start with letter "A"

I think the problem is where to put the i += 1; but actually when I am changing its position the output is not what like I need.

I tried to do it with for and every thing turned out okay, but I don't know what is the problem with while.

Here is the code:

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

I tried to use while to do what I've said previously

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

0

Since you already have an array, a better approach for this would be to just loop through it. That way you could avoid while loop entirely.

let friends = ["Ahmed", "Sayed", "Ali", 1, 2, "Mahmoud", "Amany"];

const filteredFriends = friends.filter(friend => friend[0] !== 'A' && typeof friend !== 'number');

console.log(filteredFriends);

documentation for filter()

The reason you were getting an infinite loop is because of the continue statement inside if. That skips the rest of the code for that iteration and i += 1 doesn't get executed.

about 4 years ago · Juan Pablo Isaza Denunciar

0

When you continue, you do not increment i, so in next iteration i stays the same.

You can always use for ... of to drop need for manually incrementing 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

You need to increase i every time you loop or your while condition will never resolve (unless all meet your condition).

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

*I changed the condition to look for the desired result rather than the negative (just a personal preference).

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