1
resposta

[Dúvida] Dúvidda

Bom dia! Eu fiz esse código, e imprimiu no console.log os números da const

const array = [0,1,2,3,4]

for (let numeros of array){
    console.log(numeros);
}

Mas eu percebi que se colocar no console.log "array', imprime cinco arrays.

const array = [0,1,2,3,4]

for (let numeros of array){
    console.log(array);
}
//[ 0, 1, 2, 3, 4 ]
//[ 0, 1, 2, 3, 4 ]
//[ 0, 1, 2, 3, 4 ]
//[ 0, 1, 2, 3, 4 ]
//[ 0, 1, 2, 3, 4 ]

Qual a diferença?

1 resposta

Oi Flavio,

A sua dúvida é sobre a diferença entre o que é impresso no console ao usar console.log(numeros) e console.log(array) dentro do laço for...of.

No primeiro caso, quando você faz console.log(numeros), o laço itera sobre cada elemento do array array, e numeros representa o valor atual do elemento. Portanto, você vê a saída:

0
1
2
3
4

No segundo caso, ao usar console.log(array), você está sempre imprimindo a referência completa do array, que é [0, 1, 2, 3, 4]. Como o comando console.log(array) está dentro do laço, ele é executado cinco vezes, resultando na impressão do array completo a cada iteração:

[ 0, 1, 2, 3, 4 ]
[ 0, 1, 2, 3, 4 ]
[ 0, 1, 2, 3, 4 ]
[ 0, 1, 2, 3, 4 ]
[ 0, 1, 2, 3, 4 ]

Se você quiser ver apenas o valor de cada elemento, mantenha a linha console.log(numeros). Se você quiser imprimir o array completo uma única vez, mova console.log(array) para fora do laço, como mostrado abaixo:

const array = [0, 1, 2, 3, 4];

for (let numeros of array) {
    console.log(numeros);
}

console.log(array); // Isso imprime o array apenas uma vez.

Dessa forma, você verá a lista de números primeiro e, em seguida, o array completo em uma única linha.

tux matrix    Caso este post o tenha ajudado, por favor, marcar como solucionado ☑️. Bons Estudos! 🤓