Perbandingan Rentetan dalam JavaScript: Susunan Leksikografi Didedahkan
Apabila membandingkan rentetan dalam JavaScript, satu rentetan mungkin kelihatan "lebih hebat" daripada rentetan yang lain, walaupun rakan sejawatan abjad mereka mungkin tidak mempunyai hubungan itu. Ini disebabkan oleh cara JavaScript menyusun rentetan menggunakan perbandingan leksikografi.
Penyusunan leksikografi mempertimbangkan setiap aksara dalam rentetan dan membandingkannya secara berurutan. Rentetan dengan aksara yang muncul lebih awal dalam set aksara Unicode dianggap "lebih hebat" daripada rentetan dengan aksara kemudian.
Dalam contoh yang disediakan:
var a = "one"; var b = "four"; a > b; // will return true
Aksara dalam " satu" dan "empat" dibandingkan satu persatu dari kiri ke kanan. Memandangkan "o" (dalam "satu") mengikut abjad sebelum "f" (dalam "empat"), hasil perbandingan adalah benar.
Namun, jika kita membandingkan rentetan "a" dan "b" :
var a = "a"; var b = "b"; a < b; // will return true
Dalam kes ini, aksara pertama dalam kedua-dua rentetan adalah sama ("a"). Oleh itu, JavaScript beralih kepada aksara seterusnya. Memandangkan "b" mengikut abjad selepas "a", hasil perbandingan adalah benar.
Ringkasnya, perbandingan rentetan JavaScript adalah leksikografik, yang bermaksud ia mempertimbangkan susunan aksara Unicode apabila menentukan rentetan "lebih besar". Ini boleh membawa kepada hasil yang tidak dijangka apabila membandingkan rentetan yang berbeza dalam urutan aksara.
Atas ialah kandungan terperinci Bagaimanakah Susunan Leksikografik JavaScript Mempengaruhi Perbandingan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!