无意间看到一个从来没用过的 localeCompare
属性。
于是研究了一番,它的主要作用就是比较两个字符串的顺序,然后返回一个(-1, 0, 1)之间的数字。
那么localeCompare
有啥用处呢?
我们都知道 sort
可以对数字以及英文单词实现排序,然后结合 localeCompare
就可以实现中文排序了。
const array = ['刘一','陈二','张三','李四' ,'王五' ,'赵六' ,'孙七','周八','吴九','郑十']
array.sort(function (a, b) {
return a.localeCompare(b, 'zh-Hans-CN', { sensitivity: 'accent' })
})
// log
// ['陈二', '李四', '刘一', '孙七', '王五', '吴九', '张三', '赵六', '郑十', '周八']
属性
zh-Hans-CN
是简体中文的排序规则
sensotivity
是灵敏度,包括 base、accent、case、variant这几种灵敏度
详细介绍可以参考MDN介绍 https://developer.mozilla.org...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。