Fiquei na dúvida sobre essa ordenação, como só quero o menor preço entre os livros da lista, esse código não seria considerado um filtro ao invés de uma ordenação, já que estou pegando apenas o menor valor?
Desde já, agradeço a resposta :)
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Fiquei na dúvida sobre essa ordenação, como só quero o menor preço entre os livros da lista, esse código não seria considerado um filtro ao invés de uma ordenação, já que estou pegando apenas o menor valor?
Desde já, agradeço a resposta :)
Oi, Linda! Tudo bem?
Inicialmente, é válido pontuar que para que o código enviado na imagem consiga operar como esperamos, devemos fazer algumas pequenas alterações, deixando-o da seguinte maneira:
const precosLivro = [25, 15, 30, 50, 45, 20];
let menorValor = 0;
function buscaMenorValor (listaLivros) {
for (let posicaoAtual = 0; posicaoAtual < precosLivro.length; posicaoAtual++) {
if (listaLivros [posicaoAtual] < listaLivros [menorValor ]) {
menorValor = posicaoAtual;
}
}
}
buscaMenorValor (precosLivro);
console.log (`O menor valor encontrado é R$ $(precosLivro[menorValor].`);
Após isso, podemos observar que no trecho de código abordado na aula ainda não possuímos por completo o nosso algoritmo de ordenação, logo, esse pequeno trecho de código não se caracteriza como um. Entretanto, também não possuímos um filtro, nele apenas estamos buscando o menor valor dentro de uma lista.
A função buscaMenorValor percorre a lista de preços de livros e compara cada elemento com o valor armazenado no índice de menorValor. Se o elemento atual for menor que o armazenado no índice de menorValor, o valor é atualizado. No final, o índice de menorValor conterá o menor preço encontrado na lista.
Portanto, o código não está ordenando a lista de preços nem filtrando-a com base em um critério específico. Ele está apenas buscando o menor valor e armazenando-o na variável precosLivro[menorValor].
Para filtrarmos a lista visando obter apenas o menor preço, podemos usar o método Math.min combinado com o spread operator (...) para passar todos os elementos da lista como argumentos, deixando-a de acordo com o exemplo:
const precosLivro = [25, 15, 30, 50, 45, 20];
const menorValor = Math.min(...precosLivro);
console.log(`O menor valor encontrado é R$ ${menorValor}.`);
Dessa forma, obteremos diretamente o menor valor da lista sem precisar percorrer manualmente os elementos.
Espero ter ajudado na compreensão do problema. Caso tenha ficado alguma dúvida, sinta-se à vontade em comunicar, estou à disposição!
Um forte abraço e bons estudos!