1. 程式人生 > >javascript 實現中文按照拼音首字母排序

javascript 實現中文按照拼音首字母排序

js提供了sort()方法來對陣列內的資料進行排序,但是隻是對英文有作用,這個時候需要自定義排序的規則

['張三','李四','王五'].sort((a, b) => a.localeCompare(b, 'zh-Hans-CN', {sensitivity: 'accent'}))

輸出

['李四','王五','張三']

解釋一下,sort()裡面定義了一個函式來指定排序的規則,localeCompare()方法返回一個數字,指示引用字串是在排序順序之前還是之後,或者與排序順序中的給定字串相同,zh-Hans-CN是簡體中文的排序規則,sensotivity 是靈敏度,包括 base

accentcasevariant這幾種靈敏度

參考連結:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare