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

[Dúvida] Por que fazer o destructuring nesse caso?

Pelo q eu entendi lendo a documentação de destructuring, quando a gente declara igual a instrutora fez, estaremos atribuindo às variáveis 'alunos' e 'medias' os arrays da variável 'lista', sendo 'alunos' o array de índice 0 e 'medias' o array de índice 1. É isso mesmo?

const alunos = ['Daniel', 'Juliana', 'Rafael', 'Isabela'];
const medias = [7, 6, 10, 5];


const lista = [alunos, medias];

const [alunos, medias] = lista;

Minha pergunta é por quê eu não poderia simplesmente já utilizar os arrays 'alunos' e 'medias' que foram declarados no início do código? Pelo que me parece, eu estou substituindo os valores nesses arrays pelos mesmos valores que já estavam neles quando foram declarados... Não consegui entender a finalidade do destructuring nesse caso.

A fç abaixo me retornou os mesmos valores mesmo sem o destructuring, somente usando já os arrays declarados no início do código.

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

Poderia explicar melhor qual seria a função do destructuring aqui nesse caso?

1 resposta
solução!

Olá, Daniel!

A desestruturação (destructuring) é uma funcionalidade do JavaScript que permite extrair dados de arrays ou objetos de maneira mais direta e legível. No seu exemplo, você está absolutamente correto ao dizer que os arrays 'alunos' e 'medias' já foram declarados no início do código e poderiam ser usados diretamente. No entanto, a desestruturação foi usada para demonstrar como ela funciona e como pode ser útil em situações mais complexas.

Entenda que a desestruturação é especialmente útil quando você está lidando com arrays dentro de arrays (ou objetos dentro de objetos). Suponha que você tenha um array de arrays muito grande ou complexo, e você só precisa de alguns elementos específicos. A desestruturação permite que você extraia esses elementos diretamente, tornando seu código mais limpo e fácil de ler.

No exemplo que você mencionou, a desestruturação não é estritamente necessária, pois você poderia usar diretamente os arrays 'alunos' e 'medias'. No entanto, a instrutora provavelmente usou a desestruturação para demonstrar como ela funciona e como pode ser útil em outras situações.

Aqui está um exemplo prático de como a desestruturação pode ser útil:

const lista = [['Daniel', 'Juliana', 'Rafael', 'Isabela'], [7, 6, 10, 5], ['Endereço 1', 'Endereço 2', 'Endereço 3', 'Endereço 4']];

const [alunos, medias, enderecos] = lista;

Neste exemplo, temos um array de arrays mais complexo, que inclui não apenas os nomes dos alunos e suas médias, mas também seus endereços. Usando a desestruturação, podemos extrair cada um desses arrays diretamente em suas próprias variáveis, tornando nosso código mais limpo e mais fácil de ler.

Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.