Heim  >  Artikel  >  Web-Frontend  >  Wie sortiere ich Strings in JavaScript?

Wie sortiere ich Strings in JavaScript?

WBOY
WBOYnach vorne
2023-09-09 12:29:022072Durchsuche

如何在 JavaScript 中对字符串进行排序?

Beim Sortieren von Zeichenfolgen werden Zeichenfolgen in Wörterbuch- oder alphabetischer Reihenfolge angeordnet. Bei der Entwicklung von Anwendungen mit JavaScript ist es üblich, String-Arrays zu sortieren. In diesem Tutorial lernen wir, Strings in JavaScript zu sortieren.

Wenn Sie beispielsweise einige Daten von einer API erhalten und diese Daten in sortierter Reihenfolge anzeigen möchten, ist die Zeichenfolgensortierung hier sehr nützlich.

Hier lernen wir, Strings mit integrierten Methoden und verschiedenen einfachen Methoden zu sortieren.

Verwenden Sie die Methode sort(), um Zeichenfolgen zu sortieren

In JavaScript ist sort() eine integrierte Methode, die wir für Arrays verwenden können. Im Allgemeinen sortiert die Methode sort () in anderen Programmiersprachen Werte standardmäßig. Allerdings wandelt JavaScript Zahlen in Zeichenfolgen um und sortiert sie alphabetisch.

So können wir das String-Array mit der sort()-Methode von JavaScript sortieren, ohne die Komparatorfunktion zu verwenden.

Grammatik

Benutzer können die Methode sort() von JavaScript verwenden, um Zeichenfolgen gemäß der folgenden Syntax zu sortieren.

Strings.sort();

In der obigen Syntax verwenden wir ein String-Array als Referenz und die Methode sort().

Beispiel 1

In diesem Beispiel definieren wir ein String-Array und initialisieren es mit einigen String-Werten. Danach nehmen wir das Array als Referenz und führen die sort()-Methode des Arrays aus. Der Benutzer kann die Ausgabe beobachten, dass alle Zeichenfolgen im Array alphabetisch sortiert sind.

<html>
<body>
   <h2>Using the <i>sort() method</i> to sort an array of strings in JavaScript.</h2>
  <div id = "output"> </div>
  <script>
      let output = document.getElementById('output');
      let strings = ["Hi", "JavaScript", "TypeScript", "C", "CPP", "Python", "Java", "HTML", "CSS"];
      output.innerHTML += "The original string array is " + strings + "<br/>";
      strings.sort();
      output.innerHTML += "The sorted string array is " + strings + "<br/>";
   </script>
</body>
</html>

Verwenden Sie eine for-Schleife, um Zeichenfolgen zu sortieren (Blasensortierungsalgorithmus)

Eine einfache Möglichkeit, eine Zeichenfolge zu sortieren, ist die Verwendung einer for-Schleife. Wir können zwei verschachtelte for-Schleifen verwenden, um jede Zeichenfolge mit allen anderen Zeichenfolgen zu vergleichen und sie alphabetisch zu sortieren. Wir können auch sagen, dass es sich um einen Blasensortierungsalgorithmus handelt.

Grammatik

Benutzer können den Blasensortierungsalgorithmus verwenden, um Zeichenfolgen in alphabetischer Reihenfolge zu sortieren, indem sie der folgenden Syntax folgen.

for (let a = 0; a < strings.length; a++) {
   for (let b = a + 1; b < strings.length; b++) {
      if (strings[a] > strings[b]) {
         // swap strings at index a and index b
      }
   }
}

In der obigen Syntax haben wir zwei verschachtelte for-Schleifen verwendet und über das String-Array iteriert. Zusätzlich vergleichen wir zwei String-Werte und tauschen auf dieser Grundlage die Strings aus.

Algorithmus

Schritt 1 – Erstellen Sie ein String-Array.

Schritt 2 – Verwenden Sie eine for-Schleife und durchlaufen Sie das String-Array ab dem 0. Index.

Schritt 3 – Verwenden Sie innerhalb der for-Schleife eine andere for-Schleife und beginnen Sie mit der Iteration des a+1-ten Index, wobei a der Iterationszeiger der ersten for-Schleife ist. p>

Schritt 4 – Vergleichen Sie nun die Zeichenfolgen bei den Indizes ath und bth.

Schritt 5 – Wenn die alphabetische Reihenfolge der Zeichenfolge am Index ath größer ist als die Zeichenfolge am Index bth, tauschen Sie die beiden Zeichenfolgen aus.

Schritt 6 – Führen Sie alle Iterationen beider for-Schleifen durch, um alle Zeichenfolgen in sortierter Reihenfolge zu erhalten.

Beispiel 2 (berücksichtigen Sie den Fall von Zeichenfolgen)

Im folgenden Beispiel haben wir den Blasensortierungsalgorithmus implementiert, um ein Array von Zeichenfolgen zu sortieren. Die folgende Ausgabe zeigt uns, dass der Blasensortierungsalgorithmus alle Zeichenfolgen sortiert, bei denen Großbuchstaben vor Kleinbuchstaben stehen, da Großbuchstaben im Zeichenfolgenvergleich eine höhere Priorität als Kleinbuchstaben haben.

<html>
<body>
   <h2>Using the <i> bubble sort algorithm </i> to sort an array of strings in JavaScript.</h2>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');

      let strings = ["car", "Bike", "truck", "cycle", "Tempo", "cart", "abcd", "string"];
      output.innerHTML += "The original string array is " + strings + "<br/>";

      for (let a = 0; a < strings.length; a++) {
         for (let b = a + 1; b < strings.length; b++) {
            if (strings[a] > strings[b]) {
               let tempString = strings[a];
               strings[a] = strings[b];
               strings[b] = tempString;
            }
         }
      }  
      output.innerHTML += "The sorted string array is " + strings + "<br/>";
   </script>
</body>
</html>

Beispiel 3 (Groß-/Kleinschreibung von Zeichenfolgen ignorieren)

In diesem Beispiel haben wir den Blasensortierungsalgorithmus zum Sortieren von Zeichenfolgen implementiert, aber wir vergleichen Zeichenfolgen in Kleinbuchstaben. Im obigen Beispiel sortieren wir die Zeichenfolge in alphabetischer Reihenfolge und sortieren zuerst die Großbuchstaben. Aber hier ignorieren wir die Groß-/Kleinschreibung von Zeichenfolgen und vergleichen Zeichenfolgen.

<html>
<body>
   <h2>Using the <i> bubble sort algorithm </i> to sort an array of strings in JavaScript.</h2>
   <div id = "output"> </div>
   <button onclick = "sortStrings()"> Sort Strings </button>
   <script>
      let output = document.getElementById('output');

      let strings = ["ab", "Bc", "AB", "AC", "cd", "ds", "ds", "erere", "DS"];
      output.innerHTML += "The original strings are " + strings + "<br/>";

      function sortStrings() {
         function swap(index1, index2) {
            let tempString = strings[index1];
            strings[index1] = strings[index2];
            strings[index2] = tempString;
         }

         for (let a = 0; a < strings.length; a++) {
            for (let b = a + 1; b < strings.length; b++) {
               if (strings[a].toLowerCase() > strings[b].toLowerCase()) {
                  swap(a, b)
               }
            }
         }
         output.innerHTML += "The sorted strings are " + strings + "<br/>";
      }
   </script>
</body>
</html>

In diesem Tutorial haben wir gelernt, wie man mehrere Zeichenfolgen sortiert. Bei der ersten Methode haben wir die Methode sort() verwendet, da diese die Zeichenfolge immer alphabetisch sortiert. Bei der zweiten Methode haben wir den Blasensortierungsalgorithmus implementiert, um die Zeichenfolgen zu sortieren. Wir können ihn jedoch optimieren, um die Zeiteffizienz zu verbessern. Darüber hinaus können wir andere Algorithmen wie Merge Sort verwenden, um die Zeit- und Platzeffizienz des Sortieralgorithmus zu verbessern.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Strings in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen