Não da pra percorrer a array livros até a penultima posição? Teoricamente um passo antes do final ja fizeram todas as ordenações!
for (let atual = 0; atual < livros.length-1; atual++) {
let menor = menorValor(livros, atual);
//console.log(Menor indice = ${menor}
)
let livroAtual = livros[atual];
console.log(Posicao Atual = ${atual} e livro atual é ${livroAtual.titulo} de preco ${livroAtual.preco}
)
let livroMenorPreco = livros[menor];
console.log(`O livro de menor é ${livroMenorPreco.titulo} de preco ${livroMenorPreco.preco} na posica ${menor}`)
livros[atual] = livroMenorPreco;
livros[menor] = livroAtual;
}