首页  >  问答  >  正文

javascript - js 怎么按照字母顺序排列人名

现在要对人员列表,按照字母顺序排序,后台目前没有此功能,要求前台写,求指点.谢谢!!

滿天的星座滿天的星座2712 天前1205

全部回复(6)我来回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:43:37

    sort() 方法用于对数组的元素进行排序。arrayObject.sort(sortby)

    直接用数组的 sort() 方法就可以,默认规则是按字母顺序对数组中的元素进行排序。

    回复
    0
  • 迷茫

    迷茫2017-05-19 10:43:37

    人员列表放进数组中,用array.sort(),就是根据字母排序的
    可参考:https://developer.mozilla.org...

    回复
    0
  • 阿神

    阿神2017-05-19 10:43:37

    var arr = ['ac','ab','bb','bc','aa'];
    arr.sort();
    // ["aa", "ab", "ac", "bb", "bc"]

    数组默认排序就是字典序。如果人员是中文,那么需要先将中文转成拼音,在进行排序。

    转拼音方法网上搜下就有。代码普遍较长,我不粘贴了。

    回复
    0
  • 黄舟

    黄舟2017-05-19 10:43:37

    说清楚点,是都是中文,还是有英文名字,然后如果有英文名字,是中文混排还是分开排?

    简单点,github上找个中文转拼音的库,把姓转为拼音然后取首字母进行排序。

    回复
    0
  • 迷茫

    迷茫2017-05-19 10:43:37

    雷雷

    回复
    0
  • 阿神

    阿神2017-05-19 10:43:37

    建议提取名字首字母存放到要排序的数组里面;
    然后使用sort进行排序。

    至于楼上提供的代码是有问题的;

    console.log(['王', '啊','小','发','大哥'].sort((a, b) => a.localeCompare(b)));
    // -> 发 啊 大哥 小 王

    正常的情况下,应该是输出: 啊 大哥 发....

    回复
    0
  • 取消回复