que he visto este tipo de función funciona bien:Lo que realmente sucede en Javascript Ordenar
var arr = [1,5,3,7,8,6,4,3,2,3,3,4,5,56,7,8,8];
console.log(arr.sort(
function(a,b) {
return a - b;
}
));
Pero no entienden realmente la mecánica de esta pequeña función. Cuando se comparan ayb, ¿qué números de la matriz realmente se comparan? Si, por ejemplo, recogió los primeros dos números 1 y 5, la función devolverá -4. ¿Qué significa eso para el orden de clasificación? ¿O es solo el valor booleano negativo? Incluso si lo es, ¿cómo sucede realmente el género?
Para referencia: especificación ['Array.prototype.sort'] (http://ecma262-5.com/ELS5_HTML.htm#Section_15.4.4.11). –