In diesem Artikel wird beschrieben, wie JS Array.Prototype.sort () verwendet, um Array -Objekte zu sortieren. Teilen Sie es für Ihre Referenz. Die spezifische Analyse ist wie folgt:
Wenn Sie über die Sortierung von Array -Objekten sprechen, verstehen wir zuerst kurz Array.Prototype.sort (). Die Sortiermethode akzeptiert eine Parameter -Funktion. Die Funktion liefert zwei Parameter, zwei Elemente, die verglichen werden. Wenn das Element String ist, wird es über den Unicode -Code verglichen. Wenn es sich um eine Zahl handelt, wird die Größe des Wertes verglichen. Wenn 1 in der im Vergleich zu Funktionen zurückgegeben wird, werden zwei Elemente ausgetauscht und 0 und -1 werden nicht ausgetauscht. Schauen wir uns ein Beispiel an:
Die Codekopie lautet wie folgt: var arr = [3, 5, 2, 1];
// sortieren von klein nach groß
arr.sort (Funktion (a, b) {
A> B zurückgeben? 1: -1;
});
// Das Ergebnis ist: [1, 2, 3, 5]
Wie soll ich es also schreiben, wenn ich ein Array -Objekt sortiere? Tatsächlich ist das Prinzip das gleiche wie oben, wie beispielsweise:
Kopieren Sie den Code wie folgt: var arr = [
{a: 2, b: 3.2},
{a: 3, b: 1.2},
{a: 4, b: 2.2},
{a: 6, b: 1.2},
{a: 5, b: 3.2}
]
/// sortiert nach Attribut B von klein bis groß
arr.sort (Funktion (x, y) {
XB> YB zurückgeben? 1: -1;
});
x und y sind ein Element von arr, dh ein Objekt, sodass Sie die Eigenschaften der beiden Objekte direkt vergleichen können.
Im obigen Beispiel gibt es im kleinsten Element Duplikationen. Wenn die Anforderung lautet: Sortieren Sie zuerst nach dem B -Attribut von klein nach groß und wenn es im kleinsten Duplikationen vorhanden ist, dann wie soll ich es schreiben?
Sortieren Sie beim Sortieren zunächst nach B -Attribut. Wenn XB größer als yb ist, bewegen Sie x nach rechts von y. Wenn XB gleich YB ist, vergleichen Sie es mit XA und YA. Daher ist der Code wie folgt:
Kopieren Sie den Code wie folgt: arr.sort (Funktion (x, y) {
if (xb> yb) {
Rückkehr 1;
} else if (xb === yb) {
Return Xa> Ya? 1: -1;
} else if (xb <yb) {
Return -1;
}
})
Ich hoffe, dieser Artikel wird für JavaScript -Programme aller hilfreich sein.