REVELAR

Fórum for(i in ....) #611206

10/06/2020

0

for(i in ....)
o que exatamente ele faz?
Evelyn Cleto

Evelyn Cleto

Responder

Post mais votado

10/06/2020

Existem vários laços for no Javascript, cada um para ser usado em um contexto.

O loop for...in irá iterar sobre todas as propriedades enumeráveis de um array ou object.

let usuario = {codigo:"m1001", nome: "John", ativo: true, ultimoLogin: "2020-06-01T23:28:56.782Z"}

let resultado = ""
for (let x in usuario) {
   resultado += usuario[x] + ' '
}

console.log(resultado)

/*  Resultado
    m1001 John true 2020-06-01T23:28:56.782Z 
*/


Diferença entre for (i;i;i--;) em um array e for...in:


let a = []; 
a[2] = 2;   

for (let i = 0; i < a.length; i++) {
    console.log(a[i]);
}

/* Resultado todos os indices inclusive os que não contém valores
   undefined
   undefined
2
*/

console.log('\\n')
let a1 = []; 
a1[2] = 2;  
for (let x in a1){
    console.log(x);
}

/* Resultado somente o index com valores
2
*/

console.log('\\n')

let a2 = [1, 2, 3];
for (let x in a2){
    console.log(x);
}

/* Resultado
   0
   1
   2
*/


Muito cuidado ao usar o for...in para interações com arrays, pois como pode ser visto no exemplo acima ele não retorna todas os índices, somente os preenchidos e isto pode causar transtornos dependendo do cenário.

Material da MDN:
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/for
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/for-await...of
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/for...in
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/for_each...in
https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/for...of


Jothaz

Jothaz
Responder

Gostei + 1

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar