1
resposta

[Sugestão] Minha Resolução

Olá, gostaria de compartilhar minha resolução de um loop for que percorre uma matriz e calcula as médias de cada array dentro do array principal. Pode não ser a resolução mais ideal, porém busquei utilizar outros conceitos apresentados anteriormente na formação como destructuring e o operador && além de um for..of

const matriz = [[10, 8, 8, 10], [5, 5, 7, 7]];                                  // <= matriz com 2 arrays de notas

for(let [i, arrMedias] = [0, []]; i < matriz.length; i++){              // <=  usei destructuring para inicializar duas variáveis no for
    let media = 0;                                          
    for(let notas of matriz[i]){
        media += notas
    };
    media/=matriz[i].length;
    arrMedias.push(media);
    i === matriz.length -1 && console.log(arrMedias);             // <= Operador de conjunção que só realiza a segunda parte se a primeira for verdadeira
}
1 resposta

Oi, Arthur! Como vai?

Achei muito interessante a sua escolha em usar destructuring dentro do for e o operador && para condicionar o console.log. Isso mostra que você está explorando bem os recursos do JavaScript e aplicando-os em situações práticas.

Uma dica interessante para o futuro é conhecer o método map, que também pode ser usado para percorrer arrays e gerar um novo array com os resultados. Veja este exemplo:


const matriz = [[10, 8, 8, 10], [5, 5, 7, 7]];
const medias = matriz.map(arr => arr.reduce((acc, nota) => acc + nota, 0) / arr.length);
console.log(medias);

Esse código usa map e reduce para calcular as médias de forma mais concisa.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!