js中文汉字按拼音排序 localeCompare()
拼音排序:
var array = ['武汉','北京','beijing','上海','六安','妈妈','天津','wj','务必','武警','午安','魅族','没了','没有','小米','乐视']; var resultArray = array.sort((a,b)=>{ return a.localeCompare(b,"zh"); } ); console.log(JSON.stringify(resultArray));
输出:
["北京","乐视","六安","妈妈","没了","没有","魅族","上海","天津","午安","武汉","武警","务必","小米","beijing","wj"]
知识点:
localeCompare() 用本地特定的顺序来比较两个字符串。
语法:
stringObject.localeCompare(target)
返回值
说明比较结果的数字。如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。
引申
localCompare()
可以再传一个参数指定语言。
'阿三'.localeCompare('王五','zh')
做了一个中文排序,是引入拼音库,把汉字先转成拼音再排序。