Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

preço do método "sort" e "reverse"

Minha dúvida é em questão de processamento. O método reverse que apenas inverte a a lista é mais barato computacionalmente que o método sort?

Por exemplo, modifiquei o código do exercício para não precisar do inverteOrdem() apenas usei o ordena com ordem inversa:

ordena(coluna) {
        if(this.ordemAtual == coluna) {
            this._listaNegociacoes.ordena((a, b) => b[coluna] - a[coluna]);
            this.ordemAtual = '';
        }else{
            this._listaNegociacoes.ordena((a, b) => a[coluna] - b[coluna]);
            this.ordemAtual = coluna;
        }

Dessa forma se o usuário clica várias vezes na mesma coluna eu executo vários "sorts", no código original a lista fica apenas sendo invertida.

1 resposta
solução!

Boa noite, João! Como vai?

A complexidade exata de cada método é difícil de ser definida pois depende da forma como cada navegador o implementa! Contudo, algo muito importante que vc precisa ter em mente é que eles servem a objetivos completamente diferentes! Enquanto o sort() ordena o array de acordo com um critério, o reverse() apenas inverte o tal array o que a priori é uma operação de natureza mais fácil e de menor custo! Sendo assim, deixando de lado essa questão da implementação utilizada por cada navegador, a princípio a operação reverse() tende a ter um custo ( complexidade ) menor!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software