2
respostas

Ordenando de forma crescente valores em arrays.

Decidi tentar fazer por conta, antes de ver as próximas aulas do curso, pra ir exercitando a minha maneira de pensar. Objetivo do código é retornar uma nova lista organizada de forma crescente os valores do array anterior. Curioso pra saber de vocês o que poderia deixar melhor esse código.

const precoLivros = [28, 50, 40, 22, 12];
const precosDesorganizados = [...precoLivros];
let precosOrganizados = [];

function ordenaPreco (listaDesorganizada, listaOrdenada, arrayOriginal) {

    let menorValor = listaDesorganizada[0];

    for (let i = 0; i < listaDesorganizada.length; i += 1) {

        if (listaDesorganizada[i] <= menorValor){
            menorValor = listaDesorganizada[i];
        }       
    }
    listaOrdenada.push(menorValor);

    let indexMenorValor = listaDesorganizada.indexOf(menorValor);

    listaDesorganizada.splice(indexMenorValor, 1);

    console.log(menorValor);

    if(listaOrdenada.length < arrayOriginal.length) {
        ordenaPreco(listaDesorganizada, listaOrdenada, arrayOriginal);
    }
}

ordenaPreco(precosDesorganizados, precosOrganizados, precoLivros);
console.log(precosOrganizados);
console.log(precosDesorganizados);
2 respostas

Seu jeito de pensar ainda é confuso, mas importante é que funciona! Existem outras maneiras de ser feito mas foi algo que vc criou do zero e funcionou, parabens!

Uma solução um pouco mais simples também para este problema é usar a função nativa do JavaScript, sort.

const precoLivros = [28, 50, 40, 22, 12];
const organizado = precoLivros.sort((a,b)=> a - b);

// resultado > [12, 22, 28, 40, 50];

Mas esta indo muito bem, nessa fase inicial, é muito importante encarar certos desafios de frente e tentar resolver, coloca todos os conhecimentos em pratica, pois, vc pode ter feito de uma forma bem longa, mas olha o tanto de ferramentas que vc foi capaz de utilizar! Esta de parabens!

Obrigado, ainda não tinha visto este método, ou se vi não me lembrei de anotar ele, rsrsrs.

É verdade, ainda me sinto bem confuso em alguns momentos na hora de codar. Mas acho que isso vou melhorando no decorrer deste curso de algorítimos. kkkkkkk

Decidi resolver esse desafio antes para comparar com o depois do curso. rsrsrsrs

MUITO OBRIGADO PELO FEEDBACK TMJ!