请教各位大神,js里面如果是英文按照首字母排序,自然不用多说了。
不过如果要按照中文拼音首字母排序,应该这么做呢?大致应该如何实现?
例如: var a=['张三','李四','王五'] 排序后: var a=['李四','王五','张三']
如果更加变态一点,要按照首字的笔画数排序,有没有办法实现呢?
学习是最好的投资!
可以参考这个项目 https://github.com/hotoo/pinyin
英文排序具有天生的优势:字符序(字母在字符集里的顺序)跟字母序是一致的
字符序
字母序
而中文的拼音、笔画都跟字符序没有固定的关系,想要实现这样的功能,只能自行通过映射拼音、笔画来实现
可以使用string的方法 localeComparex.localeCompare(y)
['张三','李四','王五'].sort((a, b) => a.localeCompare(b))
https://developer.mozilla.org...
可以参考这个项目 https://github.com/hotoo/pinyin
英文排序具有天生的优势:
字符序
(字母在字符集里的顺序)跟字母序
是一致的而中文的拼音、笔画都跟字符序没有固定的关系,想要实现这样的功能,只能自行通过映射拼音、笔画来实现
可以使用string的方法 localeCompare
x.localeCompare(y)
https://developer.mozilla.org...