JavaScript-String-Sortierung
In JavaScript kann das Sortieren von Strings aufgrund ihrer Eigenheiten etwas schwierig sein. Eine häufige Herausforderung besteht darin, Objekte anhand eines Zeichenfolgenattributs mithilfe der Methode sort() zu sortieren.
Problem:
Versuche, Objekte mithilfe der Funktion list.sort( a, b) { return a.attr - b.attr }) schlagen bei Zeichenfolgen häufig fehl Attribute.
Lösung:
Um Zeichenfolgen in JavaScript zu sortieren, verwenden Sie String.prototype.localeCompare innerhalb der Sortierfunktion:
list.sort(function (a, b) { return ('' + a.attr).localeCompare(b.attr); });
Durch Konvertieren Wenn Sie a.attr explizit auf einen String verweisen, vermeiden wir Ausnahmen. localeCompare unterstützt länderspezifische Vergleiche und wird weitgehend von allen Browsern unterstützt.
Alternativer Ansatz:
Eine alternative Methode ist die Verwendung des folgenden Codeausschnitts:
if (item1.attr < item2.attr) return -1; if ( item1.attr > item2.attr) return 1; return 0;
Dieser Ansatz berücksichtigt jedoch nicht das Gebietsschema und kann in verschiedenen Fällen zu inkonsistenten Ergebnissen führen Umgebungen.
Das obige ist der detaillierte Inhalt vonWie sortiere ich Strings in JavaScript-Objektarrays richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!