Heim >Web-Frontend >js-Tutorial >js verwendet die Methode Array.prototype.sort(), um Array-Objekte zu sortieren_Javascript-Fähigkeiten

js verwendet die Methode Array.prototype.sort(), um Array-Objekte zu sortieren_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:17:321361Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie js Array.prototype.sort() verwendet, um Array-Objekte zu sortieren. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

Wenn wir über das Sortieren von Array-Objekten sprechen, werfen wir zunächst einen kurzen Blick auf Array.prototype.sort(). Die Sortiermethode akzeptiert einen Parameter – Funktion. Die Funktion stellt zwei zu vergleichende Elemente bereit. Wenn das Element vom Typ String ist, wird es über Unicode-Code verglichen Der Wert wird verglichen. Wenn die Vergleichsfunktion 1 zurückgibt, tauschen die beiden Elemente die Positionen 0 und -1 nicht. Schauen wir uns zunächst ein Beispiel an:

Code kopieren Der Code lautet wie folgt:
var arr = [3, 5, 2, 1] ;
// Von klein nach groß sortieren
arr.sort(function (a, b) {
Rückgabe a > b ? 1 : -1;
});
// Erhaltenes Ergebnis: [1, 2, 3, 5]

Zurück zu unserem Thema: Wie sollen wir ein Array-Objekt schreiben, wenn wir es sortieren? Tatsächlich ist das Prinzip das gleiche wie oben, zum Beispiel:

Code kopieren Der Code lautet 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}
]
/// Sortieren nach Attribut b von klein nach groß
arr.sort(function(x, y){
Rückgabe x.b > 1:-1;
});

x und y sind Elemente von arr, also ein Objekt. Vergleichen Sie daher einfach die Eigenschaften der beiden Objekte direkt.

Im obigen Beispiel gibt es Duplikate im kleinsten Element. Wenn die Anforderung lautet: Sortieren Sie zuerst nach dem b-Attribut von klein nach groß, und wenn es Duplikate im kleinsten Element gibt, dann sortieren Sie nach dem a-Attribut soll ich es schreiben?

Sortieren Sie beim Sortieren zuerst nach dem b-Attribut, verschieben Sie x nach rechts von y. Wenn x.b gleich y.b ist, vergleichen Sie x.a und y.a, sodass der Code wie folgt lautet:

Code kopieren Der Code lautet wie folgt:
arr.sort(function (x, y) {
Wenn (x.b > y.b) {
Rückgabe 1;
} else if (x.b === y.b) {
          return x.a > y.a 1 : -1;
} else if (x.b < y.b) {
         return -1;
}
})

Ich hoffe, dass dieser Artikel für das JavaScript-Programmierdesign aller hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn