Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Não entendi a Sintaxe

Não entendi o objeto Item:

function encontrar(lista, chave, valor){
    return lista.find((item) => item[chave].includes(valor));
};

Por que tenho que criar uma "variável" "Item" e não fazer direto, tipo código abaixo?

function encontrar(lista, chave, valor){
    return lista.find((chave.includes(valor));
};
2 respostas
solução!

Oii Fábio, tudo bem?

No código original, tem uma parte chamada encontrar que usa uma função chamada find para procurar algo numa lista. Dentro dessa função, tem uma outra parte chamada callback que usa um parâmetro chamado item para representar cada coisa na lista. Depois, ela olha para uma característica específica de cada coisa, chamada chave, e verifica se essa característica inclui o que estamos procurando, chamado valor.

Na sugestão de código que você mandou, a tentativa foi de procurar diretamente na característica chamada chave sem usar o parâmetro item. Mas, assim, o código não consegue acessar as coisas na lista e não consegue procurar do jeito certo.

Então, é importante manter a parte do código original que usa o parâmetro item para que a função find consiga percorrer a lista corretamente e comparar o que estamos procurando com a característica de cada coisa na lista.

Espero ter te ajudado a entender melhor.

Um abraço e bons estudos.

Muito obrigado Lorena!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software