84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
请教各位大神,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...