Buenas! Estou fazendo o curso de algoritmo com Javascrip, e fiquei com uma duvida... A professora incluiu uma condicionante "analise > 0 " para o while nao rodar quando a variavel do laço for for igual a 0, conforme abaixo:
for (let atual=0; atual < lista.length; atual ++) {
let analise = atual;
while (analise > 0 && lista[analise].preco < lista[analise-1].preco) {
let itemAnalise = lista[analise];
let itemAnterior = lista[analise-1];
lista[analise] = itemAnterior;
lista[analise-1] = itemAnalise;
analise--
}
}
Na minha cabeçaa, seria só atribuir o valor inicial da variavel para 1, mas não funciona. Por que?
for (let atual=1; atual < lista.length; atual ++) {
let analise = atual;
while (lista[analise].preco < lista[analise-1].preco) {
let itemAnalise = lista[analise];
let itemAnterior = lista[analise-1];
lista[analise] = itemAnterior;
lista[analise-1] = itemAnalise;
analise--
}
}