zlx362211854 / daily-study

每日一个知识点总结,以issue的形式体现
10 stars 6 forks source link

47. 实现中文名根据首字母排序 #85

Open zlx362211854 opened 4 years ago

zlx362211854 commented 4 years ago

如:

sort(['张三', '李四', '王五']) // ['李四', '王五', '张三']
goldEli commented 4 years ago
['张三','李四','王五'].sort((a, b) => a.localeCompare(b, 'zh-Hans-CN'))
// ["李四", "王五", "张三"]
'1'.localeCompare('2') // -1
'2'.localeCompare('1') // 1
nanslee commented 4 years ago
zlx362211854 commented 4 years ago

也可以使用Intl对象来实现,Intl对象是ECMAScript国际化API的命名空间,它提供对语言敏感的字符串比较、支持数字格式化以及日期和时间的格式化。

['张三','李四','王五'].sort(new Intl.Collator('zh').compare);

查看Intl对象文档