A função sort () do array Javascript classifica tudo como uma string, mesmo se forem numéricos. Isso pode ser realmente irritante. Considere o seguinte.
var arr = [0, 3, 5, 7, 8, 10, 2, 1];
arr.sort();
// => [0, 1, 10, 2, 3, 5, 7, 8]
Muito desagradável, certo?
Se você precisar classificar numericamente, deverá passar uma função personalizada para comparar como a seguir.
var arr = [0, 3, 5, 7, 8, 10, 2, 1];
arr.sort(function (a, b) {
return a - b;
});
// => [0, 1, 2, 3, 5, 7, 8, 10]