search

Home  >  Q&A  >  body text

javascript 中文按照拼音首字母排序,如何实现

请教各位大神,js里面如果是英文按照首字母排序,自然不用多说了。

不过如果要按照中文拼音首字母排序,应该这么做呢?大致应该如何实现?

例如:
var a=['张三','李四','王五']
排序后:
var a=['李四','王五','张三']

如果更加变态一点,要按照首字的笔画数排序,有没有办法实现呢?

PHPzPHPz2819 days ago601

reply all(4)I'll reply

  • 怪我咯

    怪我咯2017-04-10 14:57:44

    可以参考这个项目 https://github.com/hotoo/pinyin

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 14:57:44

    英文排序具有天生的优势:字符序(字母在字符集里的顺序)跟字母序是一致的

    而中文的拼音、笔画都跟字符序没有固定的关系,想要实现这样的功能,只能自行通过映射拼音、笔画来实现

    reply
    0
  • 黄舟

    黄舟2017-04-10 14:57:44

    可以使用string的方法 localeCompare
    x.localeCompare(y)

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 14:57:44

    ['张三','李四','王五'].sort((a, b) => a.localeCompare(b))

    https://developer.mozilla.org...

    reply
    0
  • Cancelreply