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

112
Visualizações
why this javascript code generates same output

let day = [];
let hours = [];

for (let j = 0; j < 3; j++) {

  for (let k = 0; k < 3; k++) {

    hours[k] = Math.floor(Math.random() * 25 + 20);

  }

  day[j] = hours;
  console.log(`day[${j}] ${day[j]}`);

}
console.log(`${day[0]}`)
console.log(`${day[1]}`)
console.log(`${day[2]}`)

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

0

When you declare let hours = []; globally, along with telling JavaScript that day[j] = hours;, day[j] will be assigned with the memory location of the global hours. In order to avoid that, you can assign new memory location for each hours generated by declaring it in block scope.

let day = [];


for (let j = 0; j < 3; j++) {
  let hours = [];
  for (let k = 0; k < 3; k++) {
  
    hours[k] = Math.floor(Math.random() * 25 + 20);
  }

  day[j] = hours;
  console.log(`day[${j}] ${day[j]}`);

}
console.log(`${day[0]}`)
console.log(`${day[1]}`)
console.log(`${day[2]}`)

about 4 years ago · Juan Pablo Isaza Relatório

0

As per day[j] = hours line, all the values of day i.e. day[0], day[1] and day[2] are referring to array hours. In the last execution cycle of inner for loop, value of hours is set to [29,27,42]. Hence the output is same for all day values.

To have proper values for each day elements, modify the code as follows:

day[j] = [...hours]
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