Open zlx362211854 opened 4 years ago
['张三','李四','王五'].sort((a, b) => a.localeCompare(b, 'zh-Hans-CN'))
// ["李四", "王五", "张三"]
localeCompare()
,比较两个字符串,然后返回一个数字。'1'.localeCompare('2') // -1
'2'.localeCompare('1') // 1
zh-Hans-CN
指定语系['张三','李四','王五'] 经转译变为 ['zhansan', 'lisi', 'wangwu']
['zhansan', 'lisi', 'wangwu'].sort((a, b) => a.charCodeAt(0) - b.charCodeAt(0));
也可以使用Intl
对象来实现,Intl对象是ECMAScript国际化API的命名空间,它提供对语言敏感的字符串比较、支持数字格式化以及日期和时间的格式化。
['张三','李四','王五'].sort(new Intl.Collator('zh').compare);
如: