ฉันกำลังเผชิญกับความท้าทายที่นี่ ฉันจะเรียงลำดับ "สำนวน" ภาษาจีนบางรายการด้วยพินอิน
คำถาม:
ฉันจะจัดเรียงตามพินอินใน Firefox ได้อย่างไร
มีวิธีจัดเรียงอย่างถูกต้องใน IE 9 และ 10 หรือไม่ (พวกเขายังต้องได้รับการสนับสนุนจากเว็บไซต์)
ตัวอย่าง:
- 财经传讯公司
- 财经顾问
- 房地产及按揭
จากข้อมูลของหน่วยงานแปล นี่คือสิ่งที่ควรเรียงลำดับของคำ คำแปลมีดังนี้:
- หน่วยงานสื่อสารทางการเงิน
- ที่ปรึกษาทางการเงิน
- อสังหาริมทรัพย์และการจำนอง
การออกเสียงในอักษรละติน:
- ไช่ จิง ฉวน ซุน กง สี
- ไช่ จิง กู เหวิน
- ฟาง ดี ชาน จี อัน จี
String.localeCompare: เอกสาร MDN
จากสิ่งที่ฉันเข้าใจฉันจะให้อาร์กิวเมนต์ที่ 2 กับวิธี String.localeCompare
ที่ "บอก" วิธีการเรียงลำดับตามพินอินในรูปแบบ BCP 47 ซึ่งควรเป็น zh-CN-u-co-pinyin
ดังนั้นโค้ดเต็มควรมีลักษณะดังนี้:
var arr = [ "财经传讯公司", "财经顾问", "房地产及按揭"];
console.dir(arr.sort(function(a, b){
return a.localeCompare(b, [ "zh-CN-u-co-pinyin" ]);
}));
ฉันคาดว่าสิ่งนี้จะบันทึกเพื่อคอนโซลนิพจน์ตามลำดับที่ฉันป้อนในอาร์เรย์ แต่ผลลัพธ์แตกต่างออกไป
ใน FX 27 ลำดับคือ: 3, 1, 2
ใน Chrome 33: 1, 2, 3
ใน IE 11: 1, 2, 3
หมายเหตุ:
พินอินเป็นระบบการออกเสียงอย่างเป็นทางการสำหรับการถอดเสียงการออกเสียงภาษาจีนกลางของตัวอักษรจีนให้เป็นอักษรละติน