js|js 实现中文排序(localeCompare用法)

无意间看到一个从来没用过的 localeCompare属性。
于是研究了一番,它的主要作用就是比较两个字符串的顺序,然后返回一个(-1, 0, 1)之间的数字。
js|js 实现中文排序(localeCompare用法)
文章图片

【js|js 实现中文排序(localeCompare用法)】那么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...

    推荐阅读