Estou com um problema onde está dando erro no meu código, onde o valor .preco está dando undefined e não consigo identificar a solução..
Não está conseguindo ler o preço no array do exercício.
*E:\Alura\JavaScript - Para Backend\2360-algoritmos-js-II-arquivos-base\arquivos-base\aula-4\busca.js:9 if (valorBuscado === atual.preco) { ^
TypeError: Cannot read properties of undefined (reading 'preco')*
lista do array: `const listaLivros = [ { titulo: 'PHP', preco: 15 }, { titulo: 'Python', preco: 20 }, { titulo: 'Rust', preco: 22 }, { titulo: 'JavaScript', preco: 25 }, { titulo: 'Ruby', preco: 28 }, { titulo: 'Java', preco: 30 }, { titulo: 'C#', preco: 33 }, { titulo: 'C++', preco: 35 }, { titulo: 'Scala', preco: 40 }, { titulo: 'Go', preco: 45 }, { titulo: 'Elixir', preco: 50 } ]
module.exports = listaLivros`
const listaLivros = require("./arrayOrdenado");
function busca(array, de, ate, valorBuscado) {
const meio = Math.floor((de + ate) / 2);
// console.log("meio: " + meio )
const atual = array[meio];
// console.log("atual: " + atual.preco)
if (valorBuscado === atual.preco) {
return meio;
}
if (valorBuscado > atual.preco) {
//vai ser usado recursao para fatiar o array
return busca(array, de, meio - 1, valorBuscado)
}
if (valorBuscado > atual.preco) {
return busca(array, meio + 1, ate, valorBuscado)
}
};
console.log(busca(listaLivros, 0, listaLivros.length - 1, 40));