class Aluno {
constructor(matricula, nome) {
this.matricula = matricula;
this.nome = nome;
}
}
class Prova {
constructor(aluno, nota) {
this.aluno = aluno;
this.nota = nota;
}
}
var avaliacoes = [
new Prova(new Aluno(1, 'Luana'), 8),
new Prova(new Aluno(2, 'Cássio'), 6),
new Prova(new Aluno(3, 'Barney'), 9),
new Prova(new Aluno(4, 'Bira'), 5)
];
var aprovados = avaliacoes
.filter((prova) => prova.nota >= 7)
.map((prova) => prova.aluno.nome);
Ok, entendi que o método filter cria um novo array, filtrando o array de avaliações que tem prova.nota >= 7. Se eu não utilizasse map, o array aprovados teriam 2 objetos Prova e não o nome dos alunos.
Mas não entendi exatamente o que ".map((prova) => prova.aluno.nome);" fez.