1
resposta

Como funciona o laço For Of em um Array bidimensional?

No exercício proposto no curso de JavaScript: Arrays o professor fez o seguinte exemplo:

const notas = [10, 6.5, 8, 7.5];

let somaDasNotas = 0;

for (let nota of notas) { somaDasNotas += nota; }

const media = somaDasNotas / notas.length;

console.log(A média das notas é ${media}.);

No entanto, gostaria de ver um exemplo com um bidimensional:

ArraydeExemplo [ ['Maria', 'José', 'Carlos', João' ], [10, 6.5, 8, 7.5]]

1 resposta

Olá Julio,

Para percorrer um array bidimensional usando o laço for of, você precisará usar dois laços for aninhados, um para percorrer cada linha e outro para percorrer cada coluna. Veja como ficaria o exemplo com o seu array de exemplo:

const ArraydeExemplo = [
  ['Maria', 'José', 'Carlos', 'João'],
  [10, 6.5, 8, 7.5]
];

let somaDasNotas = 0;
let quantidadeDeNotas = 0;

for (let linha of ArraydeExemplo) {
  for (let elemento of linha) {
    if (typeof elemento === 'number') {
      somaDasNotas += elemento;
      quantidadeDeNotas++;
    }
  }
}

const media = somaDasNotas / quantidadeDeNotas;

console.log(`A média das notas é ${media}.`);

Neste exemplo, os laços for são usados para percorrer cada linha e coluna do array. O primeiro laço for percorre cada linha do array, e o segundo laço for percorre cada elemento de cada linha. O if é usado para verificar se o elemento é um número, e se for, a nota é adicionada à soma e a quantidade de notas é incrementada.

Ao final, a média é calculada como a soma das notas dividida pela quantidade de notas, e o resultado é exibido no console.

Espero que isso ajude a esclarecer a sua dúvida. Se precisar de mais ajuda, é só perguntar!

E se você quiser saber mais sobre mim, estou sempre disponível no meu LinkedIn: https://www.linkedin.com/in/eduardo-a-querido-dias-logistica/