2017-02-12 228 views
0

quick question。 JavaScript中的.sort方法是否使用ASCII順序自動對數組中的項進行排序。我已經看過例子等,但沒有在任何地方看到明確的答案。還有什麼替代方法按字母順序排列數組?按字母順序排列數組javascript

在此先感謝

+1

那麼做一個小腳本來測試呢?像「[」D「,」C「,」B「,」A「]。sort();'?它按以下排序:[*「如果省略,數組根據每個字符的Unicode代碼點值進行排序」*](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/磁盤陣列/排序)。 –

+1

你可以閱讀這個。 https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/sort – Aamerallous

回答

2

是的。如果您查看MDN上的.sort()方法,它將說明省略比較功能參數時的情況:

指定一個用於定義排序順序的函數。如果省略,則根據每個元素的字符串轉換,根據每個字符的Unicode代碼點值對數組進行排序。

由於Unicode是ASCII的超級集合,因此它按ASCII順序進行排序。

+0

是的.sort()方法是這樣做的。 var stringArray = ['Blue','駝背','Beluga']; console.log('Sorted:',stringArray.sort()); 結果=分揀:Beluga,Blue,駝背 – Aamerallous

-1

除非您使用「Kleenex」(vs臉部組織)的「ASCII」,否則JavaScript中沒有任何內容是ASCII。特別是,字符串是UTF-16代碼單元的計數序列,其中一個或兩個編碼Unicode編碼點。 (這適用於Java,.NET,JavaScript,HTML,XML,...)。

字典順序對於人類文本並不是很有用。由於您詢問了按字母順序排序的內容,因此您必須牢記特定語言的書寫系統的字母表。所以,也許你想通過localeComparesort