3
respostas

Pessoal, não consigo identificar qual erro no meu codigo

Pessoal, não consigo identificar qual erro no meu codigo. Mensagem de erro: annot read properties of undefined (reading 'preco') at Object Alguém pode me ajudar?

Meu codigo: const precosLivros = [ { titulo: "Javascript", preco: 25, }, { titulo: "PHP", preco: 15, }, { titulo: "Java", preco: 30, }, { titulo: "Elixir", preco: 50, }, { titulo: "GO", preco: 45, }, { titulo: "Phyton", preco: 20, } ];

module.exports = precosLivros;

const livros = require('./listaLivros');

console.log(livros)

let maisBarato = 0; for (let atual = 0; atual < livros.length; atual++) { if (livros[atual].preco < livros[maisBarato].preco) { maisBarato = atual } } console.log(livros[maisBarato]);

console.log(O livro mais barato custa ${livros[maisBarato].preco} e seu nome é ${livros[maisBarato].titulo})

3 respostas

Testei seu código aqui e aparentemente está tudo OK :)

const precosLivros = [
  { titulo: "Javascript", preco: 25, },
  { titulo: "PHP", preco: 15, },
  { titulo: "Java", preco: 30, },
  { titulo: "Elixir", preco: 50, },
  { titulo: "GO", preco: 45, },
  { titulo: "Phyton", preco: 20, }
];

// const livros = require('./listaLivros');
const livros = precosLivros;

console.log(livros)

let maisBarato = 0;
for (let atual = 0; atual < livros.length; atual++) {
  if (livros[atual].preco < livros[maisBarato].preco) {
    maisBarato = atual
  }
}
console.log(livros[maisBarato]);

console.log(`O livro mais barato custa ${livros[maisBarato].preco} e seu nome é ${livros[maisBarato].titulo}`)

Olá, Natália, me parece que nos elementos do array, não tem vírgula antes de fechar cada chave, só depois...

Ou seja, deveria ser assim:

const precosLivros = [
  { titulo: "Javascript", preco: 25 },
  { titulo: "PHP", preco: 15 },
  { titulo: "Java", preco: 30 },
  { titulo: "Elixir", preco: 50 },
  { titulo: "GO", preco: 45 },
  { titulo: "Phyton", preco: 20 }
];

Espero ter ajudado. Bons estudos!

A Leila esta correta, basta remover as virgulas extras que vai funcionar.