Oi, Gustavo.
Então, o código que você fez para ordenar os livros está correto. Porém, os 3 últimos livros, estão com a propriedade preço escrito com 'p' maiúsculo (Preco). Enquanto os outros, estão com a propriedade preço escrito com 'p' minúsculo (preco).Escrevendo a propriedade preço com letras minúsculas (preco), o seu código ordena os livros muito bem:
const livros = [{
titulo: "javascript",
preco: 25
},
{
titulo: "PHP",
preco: 15
},
{
titulo: "Java",
preco: 30
},
{
titulo: "Elixir",
preco: 50 //Estava escrito Preco, ao invés de preco
},
{
titulo:"GO",
preco : 45 //Estava escrito Preco, ao invés de preco
},
{
titulo : "python",
preco: 20 //Estava escrito Preco, ao invés de preco
}]
function menorvalor(arrProdutos, posiçãoinicial){
let maisbarato = posiçãoinicial
for(let atual = posiçãoinicial; atual < arrProdutos.length; atual++)
{ if(arrProdutos[atual].preco < arrProdutos[maisbarato].preco){
maisbarato = atual
}
} return maisbarato
}
for(let atual = 0; atual < livros.length; atual++){
let menor = menorvalor(livros, atual)
let livroAtual = livros[atual]
let livroMenorPreço = livros[menor]
livros[atual] = livroMenorPreço
livros[menor] = livroAtual
}
console.log(livros)