1
resposta

[Dúvida] For com a variavel inicando em 1 nao funciona?

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--
        }
    }
1 resposta

Consegue mandar a lista e qual o objetivo do codigo ?