Wenn diese Methode ohne Parameter aufgerufen wird, werden die Elemente im Array alphabetisch oder genauer gesagt in der Reihenfolge der Zeichenkodierung sortiert. Um dies zu erreichen, sollten die Elemente des Arrays zunächst zum Vergleich in Strings umgewandelt werden (falls erforderlich).
Die Methode array.sort() sortiert standardmäßig in aufsteigender Reihenfolge. Wenn Sie nach anderen Kriterien sortieren möchten, müssen Sie eine Vergleichsfunktion bereitstellen, die zwei Werte vergleicht und dann einen Wert zurückgibt um die beiden Werte in relativer Reihenfolge zu beschreiben. Die Vergleichsfunktion sollte zwei Parameter a und b haben und ihr Rückgabewert lautet wie folgt:
Wenn a kleiner als b ist, sollte a vor b im sortierten Array erscheinen und dann zurückgegeben werden ein Wert kleiner als der Wert 0.
Wenn a gleich b ist, wird 0 zurückgegeben.
Wenn a größer als b ist, wird ein Wert größer als 0 zurückgegeben.
Einfach: Vergleichen Sie die beiden Parameter a und b der Funktion, geben Sie a-b in aufsteigender Reihenfolge und b-a in absteigender Reihenfolge zurück
Im Folgenden finden Sie einige Beispiele dafür verstehen
var arr = [4,3,6,5,7,2,1]; arr.sort(); console.log(arr);//输出结果[1,2,3,4,5,6,7]
var arr = [4,3,6,5,7,2,1]; arr.sort(); arr.sort(function(a,b){ return b-a; }); console.log(arr);//输出结果[7,6,5,4,3,2,1]
var arr= [ { 'sortNo': 2}, { 'sortNo': 1}, { 'sortNo': 5}, { 'sortNo': 6}, { 'sortNo': 7}, { 'sortNo': 3}, { 'sortNo': 9}, { 'sortNo': 4}, { 'sortNo': 0} ]; arr.sort(function(a, b){ return a.sortNo - b.sortNo; }); console.log(arr);//输出结果//{ 'sortNo': 2}//{ 'sortNo': 1}//{ 'sortNo': 5}//{ 'sortNo': 6}//{ 'sortNo': 7}//{ 'sortNo': 3}//{ 'sortNo': 9}//{ 'sortNo': 4}//{ 'sortNo': 0}
(dieses Beispiel: Wenn die Sortiernummer gleich ist, drücken Sie Sortiernummer2 von groß nach klein)
var arr= [ { 'sortNo': 2, 'sortNo2': 3}, { 'sortNo': 1, 'sortNo2': 3}, { 'sortNo': 5, 'sortNo2': 3}, { 'sortNo': 6, 'sortNo2': 3}, { 'sortNo': 7, 'sortNo2': 3}, { 'sortNo': 3, 'sortNo2': 4}, { 'sortNo': 3, 'sortNo2': 2}, { 'sortNo': 3, 'sortNo2': 1}, { 'sortNo': 3, 'sortNo2': 3}, { 'sortNo': 8, 'sortNo2': 3}, { 'sortNo': 4, 'sortNo2': 1}, { 'sortNo': 4, 'sortNo2': 2} ]; arr.sort(function(a, b){ if (a.sortNo === b.sortNo) { return b.sortNo2 - a.sortNo2; } else { return a.sortNo - b.sortNo; } }); console.log(arr); //输出结果//{ 'sortNo': 1, 'sortNo2': 3}//{ 'sortNo': 2, 'sortNo2': 3}//{ 'sortNo': 3, 'sortNo2': 4}//{ 'sortNo': 3, 'sortNo2': 3}//{ 'sortNo': 3, 'sortNo2': 2}//{ 'sortNo': 3, 'sortNo2': 1}//{ 'sortNo': 4, 'sortNo2': 2}//{ 'sortNo': 4, 'sortNo2': 1}//{ 'sortNo': 5, 'sortNo2': 3}//{ 'sortNo': 6, 'sortNo2': 3}//{ 'sortNo': 7, 'sortNo2': 3}//{ 'sortNo': 8, 'sortNo2': 3}
Verwandte Empfehlungen:
Detailliertes Beispiel eines JavaScript-Arrays Sortieren der Methoden reverse() und sort()
So funktioniert die Funktion sort() in JavaScript
Das obige ist der detaillierte Inhalt vonSo verwenden Sie sort() in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!