function compareErrado(a, b) {
return a > b;
}
// se a é menor que b, retorna um número negativo
// se a é maior que b, retorna um número positivo
// se forem iguais, retorna zero
function compareCerto(a, b) {
return a - b;
}
console.log([7, 6, 2, 3, 8, 4, 1, 5].sort(compareErrado));
console.log([7, 6, 2, 3, 8, 4, 1, 5].sort(compareCerto));
console.log([ new Date('2015-11-30'),
new Date('2015-11-27'),
new Date('2015-11-25'),
new Date('2015-11-30') ].sort(compareErrado));
console.log([ new Date('2015-11-30'),
new Date('2015-11-27'),
new Date('2015-11-25'),
new Date('2015-11-30') ].sort(compareCerto));
ZnVuY3Rpb24gY29tcGFyZUVycmFkbyhhLCBiKSB7CiAgICByZXR1cm4gYSA+IGI7Cn0KCi8vIHNlIGEgw6kgbWVub3IgcXVlIGIsIHJldG9ybmEgdW0gbsO6bWVybyBuZWdhdGl2bwovLyBzZSBhIMOpIG1haW9yIHF1ZSBiLCByZXRvcm5hIHVtIG7Dum1lcm8gcG9zaXRpdm8KLy8gc2UgZm9yZW0gaWd1YWlzLCByZXRvcm5hIHplcm8KZnVuY3Rpb24gY29tcGFyZUNlcnRvKGEsIGIpIHsKICAgIHJldHVybiBhIC0gYjsKfQoKY29uc29sZS5sb2coWzcsIDYsIDIsIDMsIDgsIDQsIDEsIDVdLnNvcnQoY29tcGFyZUVycmFkbykpOwpjb25zb2xlLmxvZyhbNywgNiwgMiwgMywgOCwgNCwgMSwgNV0uc29ydChjb21wYXJlQ2VydG8pKTsKCmNvbnNvbGUubG9nKFsgbmV3IERhdGUoJzIwMTUtMTEtMzAnKSwKICAgICAgICAgICAgICBuZXcgRGF0ZSgnMjAxNS0xMS0yNycpLAogICAgICAgICAgICAgIG5ldyBEYXRlKCcyMDE1LTExLTI1JyksCiAgICAgICAgICAgICAgbmV3IERhdGUoJzIwMTUtMTEtMzAnKSBdLnNvcnQoY29tcGFyZUVycmFkbykpOwpjb25zb2xlLmxvZyhbIG5ldyBEYXRlKCcyMDE1LTExLTMwJyksCiAgICAgICAgICAgICAgbmV3IERhdGUoJzIwMTUtMTEtMjcnKSwKICAgICAgICAgICAgICBuZXcgRGF0ZSgnMjAxNS0xMS0yNScpLAogICAgICAgICAgICAgIG5ldyBEYXRlKCcyMDE1LTExLTMwJykgXS5zb3J0KGNvbXBhcmVDZXJ0bykpOw==
[ 7, 6, 2, 3, 8, 4, 1, 5 ]
[ 1, 2, 3, 4, 5, 6, 7, 8 ]
[ 2015-11-30T00:00:00.000Z,
2015-11-27T00:00:00.000Z,
2015-11-25T00:00:00.000Z,
2015-11-30T00:00:00.000Z ]
[ 2015-11-25T00:00:00.000Z,
2015-11-27T00:00:00.000Z,
2015-11-30T00:00:00.000Z,
2015-11-30T00:00:00.000Z ]