Boa tarde, a respeito do desafio 10 tomei como desafio criar outras formas de fazer a verificação de conteúdo.
Uma seguindo o exemplo dado em Opinião do Instrutor, outros 2 com valores pré-definidos e uma quarta forma onde a busca seria realizada por um terceiro.
Seguindo a Proposta padrão meu código é o seguinte;
function school (obj) {
const studant = [
{id: 1, nome: 'Joaquin', curso: 'Geografia'},
{id: 2, nome: 'Maria', curso: 'Quimica'},
{id: 3, nome: 'Tiago', curso: 'Biologia'},
{id: 4, nome: 'Duda', curso: 'Biologia'},
{id: 5, nome: 'Caio', curso: 'Geografia'},
{id: 6, nome: 'Harry', curso: 'Quimica'},
{id: 7, nome: 'Renata', curso: 'Astrofisica'},
]
if(obj){
console.log('O aluno se encontra na lista')
}else {
console.log('O aluno não se encontra nessa lista.');
}
}
const objeto ={id: 5, nome: 'Caio', curso: 'Geografia'};
school(objeto);
O resultado é "O Aluno se encontra na lista";
As outras duas formas padronizadas são através do Id e do Curso já definidos;
/// codigo ocultado ( A Function mencionada anteriormente, as linhas posteriores se encontram dentro da mesma)
let result = studant.filter(studant => studant.id === 7)
console.log(result);
let varredura = studant.filter(studant => studant.curso === 'Biologia')
console.log(varredura);
O resultado obtido é : 1º Teste [ { id: 7, nome: 'Renata', curso: 'Astrofisica' } ]
2º Teste[ { id: 3, nome: 'Tiago', curso: 'Biologia' }, { id: 4, nome: 'Duda', curso: 'Biologia' } ]
Agora no entando decidir testar com um valor inserido através do prompt da seguinte forma;
/// codigo ocultado ( A Function mencionada anteriormente, as linhas posteriores se encontram dentro da mesma)
let test = prompt('Defina a o Curso que você deseja verificar');
if (test) {
test = studant.filter(studant => studant.curso === test);
console.log('A materia se encontra registrada');
}else {
console.log('A materia não se encontra registrada');
}
O resultado é : "A Matéria se encontra registrada"
Funciona perfeitamente, contudo meu intuito e fazer com que o código retorne o elemento correspondente dentro da array.
A premissa inicial é que retorne da seguinte forma( Usando Quimica como exemplo):
"A Matéria se encontra registrada, os alunos registrados são : Maria e Harry" ou
"A Matéria se encontra registrada, os alunos registrados são:" [ { id: 2, nome: 'Maria', curso: 'Quimica'} { id: 6, nome: 'Harry', curso: 'Quimica' } ]
Sei que posso por o codigo da seguinte forma A Matéria ${test} se encontra registrada, os alunos registrados são :
Mas não consigo pensar em formas de obter o nome dos alunos registrados, agradeço de antemão qualquer sugestão ou ajuda.
Um forte abraço e bons estudos.