1
resposta

[Sugestão] Dica de busca no array

Achei mais prático fazer a função da seguinte forma para buscar dentro do array

function buscaLivro(id) {
    return livros.find(l => l.id === Number(id));
}
1 resposta

Olá, Daniel! Como vai?

Você encontrou uma maneira alternativa de buscar um livro pelo ID no array. A sua abordagem, usando o método find, retorna diretamente o objeto do livro que corresponde ao ID fornecido. Isso é realmente mais direto e, em muitos casos, pode ser mais prático.

No entanto, a abordagem apresentada na aula, usando o método findIndex, foi escolhida por um motivo específico. Ela retorna o índice do livro no array, em vez do próprio livro. Isso é útil porque, em outras partes do código (como na rota PUT), precisamos desse índice para atualizar o livro no array.

Por exemplo, na rota PUT, temos o seguinte código:

app.put("/livros/:id", (req, res) => {
 const index = buscaLivro(req.params.id);
 livros[index].titulo = req.body.titulo;
 res.status(200).json(livros);
})

Nesse caso, estamos usando o índice retornado pela função buscaLivro para encontrar o livro no array e atualizar seu título. Se a função buscaLivro retornasse o próprio livro (como na sua sugestão), não teríamos uma maneira fácil de encontrar esse livro no array para atualizá-lo.

Então, embora a sua sugestão seja mais direta para simplesmente encontrar um livro, a abordagem da aula é mais versátil porque nos permite não apenas encontrar o livro, mas também manipulá-lo dentro do array, isso não torna a sua sugestão errada nem nada do tipo, estou comentando apenas um ponto de atenção.

Bons estudos!

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