在nodeJs中进行中文排序

在客户端中文排序可以使用localeCompare这个方法,然而在node中该方法却只能用于排数字和英文,对中文也无计可施,没关系,我们还是有方法可以进行中文排序的。

node社区中有很多拼音库,感谢大佬们的贡献!我们选择pinyinlite.js这个相对轻量的


先安装pinyinlite.js这个模块,它可以将中文转为拼音

$ yarn add pinyinlite

如下图:

image.png
const pinyin = require('pinyinlite')

pinyin('中国')
// console => [['zhong'], ['guo']]

['中国', '美国', '日本'].sort((item1, item2) => {
    let c1 = pinyin(item1).join('')
    let c2 = pinyin(item2).join('')
    return c1.localeCompare(c2)
})
// console => arr = ['美国', '日本', '中国']

该方法适用于中英文数字混合,对特殊符号不予处理,几乎可以应对任何场景。

你可能感兴趣的:(在nodeJs中进行中文排序)