Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mengisih rentetan dalam JavaScript?

Bagaimana untuk mengisih rentetan dalam JavaScript?

WBOY
WBOYke hadapan
2023-09-09 12:29:021994semak imbas

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

Isih rentetan adalah untuk menyusun rentetan dalam kamus atau susunan abjad. Apabila membangunkan aplikasi menggunakan JavaScript, adalah perkara biasa untuk mengisih tatasusunan rentetan. Dalam tutorial ini, kita akan belajar menyusun rentetan dalam JavaScript.

Sebagai contoh, jika anda mendapat beberapa data daripada API dan ingin memaparkan data tersebut dalam susunan yang diisih, pengisihan rentetan sangat berguna di sini.

Di sini kita akan belajar menyusun rentetan menggunakan kaedah terbina dalam dan pelbagai kaedah mudah.

Gunakan kaedah sort() untuk mengisih rentetan

Dalam JavaScript, sort() ialah kaedah terbina dalam yang boleh kita gunakan pada tatasusunan. Secara umumnya, dalam bahasa pengaturcaraan lain, kaedah sort() mengisih nilai secara lalai. Walau bagaimanapun, JavaScript menukar nombor kepada rentetan dan menyusunnya mengikut abjad.

Jadi, kita boleh mengisih tatasusunan rentetan menggunakan kaedah sort() JavaScript tanpa menggunakan fungsi pembanding.

Tatabahasa

Pengguna boleh menggunakan kaedah sort() JavaScript untuk mengisih rentetan mengikut sintaks berikut.

Strings.sort();

Dalam sintaks di atas, kami menggunakan tatasusunan rentetan sebagai rujukan dan kaedah sort().

Contoh 1

Dalam contoh ini, kami mentakrifkan tatasusunan rentetan dan memulakannya dengan beberapa nilai rentetan. Selepas itu, kami mengambil tatasusunan sebagai rujukan dan melaksanakan kaedah sort() tatasusunan. Pengguna boleh melihat output bahawa semua rentetan dalam tatasusunan diisih mengikut abjad.

<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>

Gunakan untuk gelung untuk mengisih rentetan (algoritma isihan buih)

Cara mudah untuk mengisih rentetan ialah menggunakan gelung for. Kita boleh menggunakan dua gelung bersarang untuk membandingkan setiap rentetan dengan semua rentetan lain dan menyusunnya mengikut abjad. Juga, kita boleh mengatakan bahawa ia adalah algoritma isihan gelembung.

Tatabahasa

Pengguna boleh menggunakan algoritma isihan gelembung untuk mengisih rentetan dalam susunan abjad dengan mengikut sintaks di bawah.

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
      }
   }
}

Dalam sintaks di atas, kami telah menggunakan dua gelung bersarang dan diulang pada tatasusunan rentetan. Selain itu, kami membandingkan dua nilai rentetan dan berdasarkan ini kami menukar rentetan.

Algoritma

Langkah 1 - Buat tatasusunan rentetan.

Langkah 2 - Gunakan gelung for dan ulangi tatasusunan rentetan bermula dari indeks ke-0.

Langkah 3 - Dalam gelung for, gunakan gelung for yang lain dan mula lelaran indeks a+1, dengan a ialah penunjuk lelaran bagi gelung untuk pertama. p>

Langkah 4 - Sekarang, bandingkan rentetan pada indeks ath dan bth.

Langkah 5 - Jika susunan abjad rentetan pada indeks ath lebih besar daripada rentetan pada indeks b, tukar dua rentetan itu.

Langkah 6 - Lengkapkan semua lelaran kedua-duanya untuk gelung untuk mendapatkan semua rentetan dalam susunan yang disusun.

Contoh 2 (pertimbangkan kes aksara rentetan)

Dalam contoh di bawah, kami telah melaksanakan algoritma isihan gelembung untuk mengisih tatasusunan rentetan. Output di bawah menunjukkan kepada kita bahawa algoritma isihan gelembung mengisih semua rentetan di mana huruf besar didahulukan sebelum huruf kecil kerana huruf besar mempunyai keutamaan yang lebih tinggi daripada huruf kecil dalam perbandingan rentetan.

<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>

Contoh 3 (Abaikan kes aksara rentetan)

Dalam contoh ini, kami melaksanakan algoritma isihan gelembung untuk mengisih rentetan, tetapi kami membandingkan rentetan huruf kecil. Dalam contoh di atas, kami mengisih rentetan mengikut susunan abjad dan menyusun huruf besar dahulu. Tetapi di sini, kami mengabaikan kes aksara rentetan dan membandingkan rentetan.

<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>

Kami belajar tentang menyusun berbilang rentetan dalam tutorial ini. Dalam kaedah pertama, kami menggunakan kaedah sort() kerana ia sentiasa mengisih rentetan mengikut abjad. Dalam kaedah kedua, kami melaksanakan algoritma isihan gelembung untuk mengisih rentetan, tetapi kami boleh mengoptimumkannya untuk meningkatkan kecekapan masa. Selain itu, kita boleh menggunakan algoritma lain seperti pengisihan gabungan untuk meningkatkan kecekapan masa dan ruang bagi algoritma pengisihan.

Atas ialah kandungan terperinci Bagaimana untuk mengisih rentetan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam