Bagaimana untuk mengisih rentetan dalam JavaScript?

WBOY
Lepaskan: 2023-09-09 12:29:02
ke hadapan
2066 orang telah melayarinya

如何在 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();
Salin selepas log masuk

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>
Salin selepas log masuk

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

Salin selepas log masuk

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.

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan