1
resposta

[Projeto] Mostrar minha resolução

Olá,

a aula foi muito bem explanada pelo professor, mas fiz uma alternativa do código até usando como base o artigo do Felipe sobre Higher Order Functions, e gostaria de demonstra-lo

// Arquivo procurando-aluno.js

const alunos = ["João", "Juliana", "Ana", "Caio"];
const medias = [10, 8, 7.5, 9];

const listaDeAlunosEMedias = [alunos, medias];

const obterIndiceVetorNomes = (lista) => isNaN(lista[0][0]) ? 0 : 1;

const obterIndiceVetorNotas = (lista) => obterIndiceVetorNomes(lista) === 0 ? 1 : 0;

const obterIndiceNota = (nome, lista) => lista[obterIndiceVetorNomes(lista)].indexOf(nome);

const validarNomeNoVetor = (nome, lista) => lista[obterIndiceVetorNomes(lista)].includes(nome);

const encontrarAlunoENota = ({ nome, lista }) => {
    if (validarNomeNoVetor(nome, lista)
    ) {
        const nota = lista[obterIndiceVetorNotas(lista)][obterIndiceNota(nome, lista)];
        return `Aluno de nome ${nome} possui nota ${nota}`;
    } else {
        return `Aluno de nome ${nome} não encontrado`;
    }
};

console.log(encontrarAlunoENota({ nome: 'João', lista: listaDeAlunosEMedias }));
1 resposta

Oi, tudo bem?

Muito obrigada por compartilhar sua solução, Christiane! É fantástico ver você aplicando conceitos avançados como Higher Order Functions em suas práticas. Parabéns pela dedicação e pela abordagem inovadora no exercício!

Continue assim, explorando e aprofundando seus conhecimentos em Node.JS e JavaScript.

Um abraço e bons estudos.