In che modo il codice seguente ordina questa matrice in ordine numerico?Come funziona sort() di JavaScript?
var array=[25, 8, 7, 41]
array.sort(function(a,b) {
return a - b})
So che se il risultato del calcolo è ...
Meno di 0: "a" è ordinato ad essere un indice inferiore a "b".
Zero: "a" e "b" sono considerati uguali e non viene eseguito alcun ordinamento.
Maggiore di 0: "b" è ordinato per essere un indice inferiore a "a".
La funzione di richiamata di ordinamento di array viene richiamata più volte nel corso dell'ordinamento?
In tal caso, mi piacerebbe sapere quali due numeri vengono passati alla funzione ogni volta. Ho pensato che fosse necessario prima "25" (a) e "8" (b), seguito da "7" (a) e "41" (b), quindi:
25 (a) - 8 (b) = 17 (maggiore di zero, quindi ordinare "b" per essere un indice inferiore a "a"): 8, 25
7 (a) - 41 (b) = -34 (meno di zero, quindi ordinare " a" per essere un indice inferiore a "b":?! 7, 41
Come sono i due insiemi di numeri poi ordinati in relazione l'uno all'altro
Aiutateci un principiante che lotta
Spero che questo abbia un senso confuso! – cw84