1
resposta

Postman diz que livrosAtuais.findindex não é uma função

Postman diz que livrosAtuais.findindex não é uma função

Erro no postmanSegue código do servicos/ index.js


const fs = require("fs")

function getTodosLivros() {
    return JSON.parse( fs.readFileSync("livros.json") )
}

function getLivroPorId(id) {
    const livros = JSON.parse(fs.readFileSync("livros.json"))

    const livroFiltrado = livros.filter( livro => livro.id === id )[0]
    return livroFiltrado
}

function insereLivro(livroNovo) {
    const livros = JSON.parse(fs.readFileSync("livros.json"))

    const novaListaDeLivros = [ ...livros, livroNovo ]

    fs.writeFileSync("livros.json", JSON.stringify(novaListaDeLivros))
}

function modificaLivro(modificacoes,  id) {
    let livrosAtuais = JSON.parse(fs.readFileSync("livros.json"))
    
    const indiceModificado = livrosAtuais.findindex(livro => livro.id === id)
    
    const conteudoMudado = { ...livrosAtuais[indiceModificado], ...modificacoes }

    livrosAtuais[indiceModificado] = conteudoMudado
    fs.writeFileSync("livros.json", JSON.stringify(livrosAtuais))
}

module.exports = {
    getTodosLivros,
    getLivroPorId,
    insereLivro,
    modificaLivro

}

1 resposta

Olá! Tudo bem?

O erro que você está enfrentando ocorre porque a função findindex está escrita incorretamente. A função correta é findIndex (com "I" maiúsculo).

No seu código, na função modificaLivro, substitua:

const indiceModificado = livrosAtuais.findindex(livro => livro.id === id)

por:

const indiceModificado = livrosAtuais.findIndex(livro => livro.id === id)

Essa correção deve resolver o problema que você está enfrentando no Postman.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.