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

Minha lógica para a exclusão de um livro por ID

Eu fiz a exclusão do livro de uma forma um pouco diferente, ela também é válida?

function deleteBookbyId(id){
    let books = JSON.parse(fs.readFileSync("booksData.json"));

    const bookIndex = books.findIndex(book => book.id === id);

    books.splice(bookIndex, 1);

    fs.writeFileSync("booksData.json", JSON.stringify(books));
}
1 resposta
solução!

Oi Thiago, tudo bem?

Sua lógica para a exclusão do livro por ID está correta e é totalmente válida. A abordagem que você usou com o método splice é uma alternativa ao método filter que foi usado na aula. Ambos têm o mesmo objetivo, que é remover um item de um array.

A diferença principal é que o splice modifica o array original removendo ou substituindo elementos, enquanto o filter retorna um novo array com os elementos que passam no teste implementado pela função fornecida.

No seu código, você encontrou o índice do livro que queria deletar com o método findIndex e depois usou o splice para remover este livro do array. Após isso, você salvou o novo array no arquivo JSON.

No código da aula, foi criado um novo array com todos os livros cujo ID é diferente do ID que se queria deletar. Esse novo array, que não contém o livro deletado, é então salvo no arquivo JSON.

Ambas as abordagens são válidas e alcançam o mesmo resultado final: o livro com o ID especificado é removido do arquivo JSON. A escolha entre uma abordagem ou outra pode depender de fatores como a preferência pessoal, a familiaridade com os métodos do JavaScript e as especificidades do projeto.

Um abraço e bons estudos.