Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] O meu resultato não está apresentando a média do aluno.

Como apresento a baixo, o terminal não apresenta o resultato esperado, ele puxou todos os elementos do array. Aparentemente não puxou somento um e sua respectiva nota no outro array. Gostaria de saber o que errei e como posso corrigir. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Oi João,

O problema está na forma como você está desestruturando o array lista.

Ao fazer const [aluno, media] = lista;, você está sobrescrevendo as variáveis aluno e media que foram definidas no início do código.

Para corrigir, você precisa manter as variáveis originais.

Além disso, o nome da variável aluno dentro da função está conflitando com o parâmetro da função, o que pode gerar confusão.

Segue o código corrigido:

const alunos = ['Matheus', 'Pedro', 'Caio', 'José'];
const medias = [10, 8, 7.5, 9];
const lista = [alunos, medias];

function exibeNomeENota(aluno) {
  if (lista[0].includes(aluno)) {
    const indice = lista[0].indexOf(aluno);
    const mediaAluno = lista[1][indice];
    console.log(`${aluno} tem a média ${mediaAluno}`);
  } else {
    console.log('Estudante não está na lista!');
  }
}

exibeNomeENota('José');
exibeNomeENota('João');

/* saída
José tem a média 9
Estudante não está na lista!
*/

Para saber mais: Desestruturação em JavaScript

Continue praticando e explorando o mundo da programação! 💪 🤔

tux matrix Caso este post o tenha ajudado, marque-o como solucionado ☑️. Bons Estudos! 🤓