¿Cómo funciona el orden () de Javascript?

¿Cómo clasifica el siguiente código esta matriz para que esté en orden numérico?

var array=[25, 8, 7, 41]

array.sort(function(a,b){
  return a - b
})

Sé que si el resultado del cálculo es ...

Menos de 0: "a" está ordenado para ser un índice más bajo que "b".
Cero: "a" y "b" se consideran iguales, y no se realiza ninguna clasificación.
Mayor que 0: "b" está ordenado para ser un índice más bajo que "a".

¿Se llama la función de devolución de llamada de ordenamiento de matriz muchas veces durante el curso de la ordenación?

Si es así, me gustaría saber qué dos números pasan a la función cada vez. Supuse que primero tomó "25" (a) y "8" (b), seguido de "7" (a) y "41" (b), por lo que:

25 (a) - 8 (b) = 17 (mayor que cero, así que ordene "b" para que sea un índice más bajo que "a"): 8, 25

7 (a) - 41 (b) = -34 (menos de cero, así que ordene "a" para que sea un índice más bajo que "b": 7, 41

¿Cómo se ordenan los dos conjuntos de números entre sí?

Por favor, ayuda a un novato luchando!

Respuestas a la pregunta(6)

Su respuesta a la pregunta