Heim > Artikel > Web-Frontend > Wie sortiere ich Strings in JavaScript mit „localeCompare' richtig?
So sortieren Sie Zeichenfolgen in JavaScript mithilfe von localeCompare
Beim Versuch, eine Liste von Objekten basierend auf einem Zeichenfolgenattribut mit dem traditionellen Ansatz von zu sortieren list.sort(function (a, b) { return a.attr - b.attr }) kann es zu unerwarteten Ergebnissen kommen. Dies liegt daran, dass der Subtraktionsoperator (-) Zeichenfolgen in JavaScript nicht automatisch sortiert.
Um Zeichenfolgen in diesem Szenario effektiv zu sortieren, verwenden Sie die Methode String.prototype.localeCompare. Diese Methode vergleicht zwei Zeichenfolgen und gibt eine negative Zahl zurück, wenn die erste Zeichenfolge vor der zweiten Zeichenfolge sortiert wird, eine positive Zahl, wenn die zweite Zeichenfolge vor der ersten Zeichenfolge sortiert wird, oder Null, wenn beide Zeichenfolgen gleich sind.
Hier ist So können Sie Ihren Code mithilfe von localeCompare anpassen:
list.sort(function (a, b) { return ('' + a.attr).localeCompare(b.attr); });
Durch die explizite Umwandlung von a.attr in einen String vermeiden wir potenzielle Ausnahmen. localeCompare bietet Unterstützung seit Internet Explorer 6 und Firefox 1.
Das obige ist der detaillierte Inhalt vonWie sortiere ich Strings in JavaScript mit „localeCompare' richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!