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

129
Visualizações
Does anyone know why this is infinite loop?
var arr = [1,2,3,4,5]
for (var i = 2; i < arr.length; i++) {

    [arr[i], arr[i+1]] = [arr[i+1], arr[i]]
    
}

console.log(arr);

I have no idea why this is an infinite loop..

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Executing this will give you a sense of what happens.

async function inifiniteLoop() {
  var arr = [1, 2, 3, 4, 5];
  for (var i = 2; i < arr.length; i++) {
    [arr[i], arr[i + 1]] = [arr[i + 1], arr[i]];
    console.log(arr);
    console.log(`i: ${i}; arr.length: ${arr.length}`);
    await sleep(2000);
  }
}

function sleep(ms) {
  return new Promise((resolve) => setTimeout(resolve, ms));
}

(async () => await inifiniteLoop())();

While you would get an IndexOutOfBounds exception in Java and many other languages this works in JavaScript.

const array = [34]
console.log(array)
array[3] = 23
console.log(array)

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