簡體   English   中英

如何基於特定語言環境對JavaScript中的字符串進行排序或比較?

[英]How do you sort or compare Strings in JavaScript based on a certain locale?

我知道您可以使用一個名為String.prototype.localeCompare的函數,並且可以將第二個區域設置作為第二個參數發送。

string.localeCompare(compareString [,locales [,options]])

但是,如果您查看瀏覽器兼容性表,則只有Chrome支持。

在此處輸入圖片說明

如何基於特定語言環境對JavaScript中的字符串進行排序或比較?

所有大型網站(例如ebay或Amazon)如何做到這一點? 他們必須在前端進行某種String排序。

也許您需要排序,而不是比較?

Javascript數組sort方法按其Unicode (非ASCII)代碼對字符串進行排序。 您可以對字符串數組進行排序以按字母順序獲取它。

['Собака', 'Кошка'].sort()會將數組排序為["Кошка", "Собака"] ,在Ru_ru語言環境中正確。

您可以像這樣添加比較功能:

['Собака', 'Кошка', 'Свекла'].sort(function(a, b) { 
    return a[1] > b[1]?1:-1;
})

Javascript將逐字符比較Unicode字符的字符串。 在我的示例中,compare在本機低級代碼的a[1] > b[1]內部。 返回-1或1需要sort函數來替換數組元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM