Saya menghadapi tantangan yang cukup besar di sini. Saya harus mengurutkan "ekspresi" China tertentu berdasarkan pinyin.
Pertanyaannya:
Bagaimana cara mengurutkan berdasarkan pinyin di Firefox?
Apakah ada cara untuk mengurutkan dengan benar di IE 9 dan 10? (Mereka juga harus didukung oleh situs web)
Contoh:
- 财经传讯公司
- 财经顾问
- 房地产及按揭
Menurut agen penerjemah, seperti inilah seharusnya urutan kata-katanya. Terjemahannya adalah sebagai berikut:
- Badan komunikasi keuangan
- Konsultan keuangan
- Real estat dan hipotek
Pengucapan dalam alfabet latin:
- cai jing chuan xun gong si
- cai jing gu wen
- taring di chan ji an jie
String.localeCompare: Dokumen MDN
Dari apa yang saya pahami, saya akan memberikan argumen ke-2 pada metode String.localeCompare
yang "memberi tahu" metode untuk mengurutkan berdasarkan pinyin dalam format BCP 47 yang seharusnya zh-CN-u-co-pinyin
.
Jadi kode lengkapnya akan terlihat seperti ini:
var arr = [ "财经传讯公司", "财经顾问", "房地产及按揭"];
console.dir(arr.sort(function(a, b){
return a.localeCompare(b, [ "zh-CN-u-co-pinyin" ]);
}));
Saya mengharapkan ini untuk login untuk menghibur ekspresi sesuai urutan saya memasukkannya ke dalam array tetapi hasilnya berbeda.
Di FX 27, urutannya adalah: 3, 1, 2
Di Chrome 33: 1, 2, 3
Di IE 11: 1, 2, 3
Catatan:
Pinyin adalah sistem fonetik resmi untuk menyalin pengucapan Mandarin dari karakter Cina ke dalam alfabet Latin.