Heim  >  Artikel  >  Web-Frontend  >  Wie sortiere ich Strings in JavaScript mit „localeCompare' richtig?

Wie sortiere ich Strings in JavaScript mit „localeCompare' richtig?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-26 19:37:14197Durchsuche

How to Properly Sort Strings in JavaScript using `localeCompare`?

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!

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