Olá, Renata, tudo bem?
Ok, vamos por partes para explicar o raciocínio de resolução do desafio.
Primeiramente, precisamos entender como as informações dos alunos e de suas médias foram estruturadas no código, que podemos conferir abaixo:
const alunos = ["João", "Juliana", "Ana", "Caio"];
const medias = [10, 8, 7.5, 9];
const listaDeAlunosEMedias = [alunos, medias];
Temos uma lista chamada alunos
que possui quatro nomes de alunos. Também temos uma lista chamada medias
que possui quatro médias. A lógica utilizada na criação dessas listas foi: o aluno da posição 0 da lista de alunos (João) possui a nota da posição 0 da lista de notas (10). Da mesma forma, a aluna da posição 1 da lista de alunos (Juliana) possui a nota da posição 1 da lista de notas (8). E assim por diante.
Por fim, as listas alunos
e medias
foram guardadas dentro de uma lista chamada listaDeAlunosEMedias
.
O que o desafio pede é, em resumo: crie uma função que recebe o nome de um aluno como parâmetro e retorne a média desse aluno (caso ele exista na lista de alunos
).
Então, nós criamos uma função chamada exibeNomeENota
que recebe um parâmetro chamado aluno
. Começamos a criar a função com o seguinte código:
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)) {
console.log(`${aluno} está cadastrado!`);
} else {
console.log("Aluno não encontrado!");
}
}
Note que o nome do parâmetro aluno
é diferente do nome da lista chamada alunos
, então cuidado para não confundir essas informações.
Agora nós podemos passar uma simples string quando formos executar esse função, utilizando um código como o seguinte, por exemplo:
exibeNomeENota("João");
Especificamente com esse código, o parâmetro aluno
será definido como "João"
dentro da função.
Voltando à lógica do desafio, agora precisamos exibir a média desse aluno. Para fazer isso, nós precisamos ter conhecimento do índice desse aluno, obrigatoriamente. Isso porque, se o índice do João na lista de alunos é 0, então sabemos que a sua média está no índice 0 da lista de médias. Ou seja, se descobrirmos seu índice, descobriremos sua média.
Com isso, chegamos ao código final da função:
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("Juliana");
No final do código acima, passamos a string "Juliana"
ao executar a função exibeNomeENota
. Nesse caso, o parâmetro aluno
será definido como "Juliana"
. Da mesma forma, seu índice será descoberto e guardado na constante indice
. Em seguida, sua média será descoberta e guardada na constante mediaDoAluno
.
Espero ter ajudado! Você possui alguma dúvida em relação a como acessar a lista de duas dimensões ou a como utilizar os métodos includes
e indexOf
?
Qualquer coisa estamos aqui.