Com o método sort, podemos ordenar o elementos de um array de forma
crescente(padrão). Esse método pode receber uma função como argumento para realizar
uma ordenação customizada.
A função customizada deve seguir o protótipo/assinatura callback(currentValue, index, arr) como mostrado abaixo.
Os nomes não precisam ser os mesmos, mas a ordem deve ser respeitada.
Sintaxe
variavel_array.sort(compareFunction);
Onde
compareFunction: função customizada. Deve receber dois argumentos para comparação e retornar um número.
Retorno
Um novo array contendo os elementos de variavel_array ordernados de acordo com callback.
Exemplo 27
let x = [3,2,5,4,0,1];
function comparacao(a, b) {
if (a < b) {
return -1;
}
if (a > b ) {
return 1;
}
// a == b
return 0;
}
console.log(x.sort());
console.log(x.sort(comparacao));
Saída
[ 0, 1, 2, 3, 4, 5 ]
[ 0, 1, 2, 3, 4, 5 ]