Oi, Bruno, tudo bem?
Vou deixar o código final logo abaixo para explicar melhor:
const alunos = ["João", "Juliana", "Ana", "Caio"];
const medias = [10, 8, 7.5, 9];
const listaDeAlunosEMedias = [alunos, medias];
function exibeNomeENota(aluno){
if (listaDeAlunosEMedias[0].includes(aluno)) {
const indice = listaDeAlunosEMedias[0].indexOf(aluno);
const mediaDoAluno = listaDeAlunosEMedias[1][indice];
console.log(`${aluno} tem a média ${mediaDoAluno}.`);
} else {
console.log("Aluno não encontrado!");
}
}
exibeNomeENota("Evaldo");
A declaração aluno
é um parâmetro da função exibeNomeENota
. O intuito da função é que ela receba o nome de um aluno específico e, dentro dela, vamos exibir a média desse aluno.
Já a constante alunos
se refere à lista de strings que guarda o nome de todos os alunos. Ou seja, dentro da função, alunos
e aluno
são variáveis diferentes, e é assim que realmente deve ser. Por exemplo, vamos considerar a seguinte condição do bloco if
:
if (listaDeAlunosEMedias[0].includes(aluno)) {
Nesse código estamos verificando se o aluno
recebido como parâmetro está incluso na lista de alunos (a lista de alunos, por sua vez, foi acessada com a sintaxe listaDeAlunosEMedias[0]
).
Então, no final do arquivo, quando executamos a função exibeNomeENota
passando o nome "Evaldo" como parâmetro, o parâmetro aluno
será definido como a string "Evaldo". Como esse nome não está incluso na lista de alunos, o código do bloco else
é executado.
Da mesma forma, se qualquer outro nome for passado como parâmetro na hora de executar a função exibeNomeENota
, é esse nome que irá definir o valor do parâmetro aluno
. Esse parâmetro, então, pode ser utilizado para a lógica interna da função (verificar se o aluno está na lista de alunos, obter seu índice na lista, pesquisar sua média, etc).
Espero ter ajudado! Qualquer dúvida pode mandar. Bons estudos :)