Olá novamente Henrique
Peço desculpas pois na ultima resposta acabei passando uma informação errada sobre o primeiro parametro do método filter.
O primeiro representa o valor atual qual o método filter esta percorrendo, montei um exemplo com a mesma estrutura mostrata em aula que fala mais sobre cada parametro do filter e mostra os valores em cada interação.
Segue juntamente o link de um artigo da Alura falando com mais detalhes do método filter:
https://www.alura.com.br/artigos/manipulacao-de-array-com-map-filter-e-reduce
Também estou deixando o link do meu codepen com este exemplo caso queira compila-lo mais facilmente.
https://codepen.io/alexdgoncalves/pen/MWOVBGO?editors=0012
Espero com este exemplo conseguir esclarecer suas dúvidas.
Abraços e bons estudos !!
const nomeDosAlunos = ['Ana','Marcos','Maria','Mouro']
const notaDosAlunos = [7,4.5,8,7.5]
//O método filter pode receber até três parametros
//o Primeiro e obrigatório é o valor atual do array
//o Segundo (opcional) é o indice, ele é quem representada cada item do array
// por ultimo o Terceiro, que é o o proprio array sendo percorrido
const reprovados = nomeDosAlunos.filter((valorAtual,indice,array) =>{
console.log("Este é o indice: "+indice+" com o valor atual de: "+valorAtual);
console.log("Aqui é o terceiro parametro: "+array)
if (notaDosAlunos[indice] < 5){
console.log("Valor que atende a condição proposta : "+valorAtual)
//O valor atual, quando a condição for verdadeira.
return valorAtual;
}
})
console.log("Este é o array que o filter retornou: "+reprovados)