Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Como faço para adicionar mais uma condição ao filtro?

Fazendo alguns testes, gostaria de inserir mais de um filtro no código para que, além de alunos com média menor que 7, só me trouxesse alunos que não se chamam Marcos.

Deixo abaixo a syntaxe que não consegui rodar no meu programa ao inserir a segunda condição aluno ==! "Marcos"

const alunos = ["Ana", "Marcos", "Maria", "Mauro"];
const medias = [6, 4.5, 8, 7.5];

const reprovados = alunos.filter( (aluno, indice) =>   
medias[indice] < 7 

aluno ==! "Marcos" );


console.log(reprovados)
2 respostas
solução!

E aí, Gabriel!

O método filter retona um novo array com os elementos que passaram no teste lógico implementado através de uma função callback. Para inserir múltiplas condições em um teste lógico podemos utilizar o operador lógico '&&' ele serve justamente para indicar o 'E', portando no código abaixo:

medias[indice] < 7 && aluno !== "Marcos"

Estamos dizendo que a média deve ser menor que sete " E " o aluno deve ser diferente de Marcos. Então implementando este teste lógico fica:

const alunos = ["Ana", "Marcos", "Maria", "Mauro"];
const medias = [6, 4.5, 8, 7.5];

const reprovados = alunos.filter((aluno, indice) =>   
medias[indice] < 7 && aluno !== "Marcos")

console.log(reprovados)

Joia, lembrei mesmo da aula que haviam ensinado esses operadores. Muito Obrigado!