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.