Heim  >  Fragen und Antworten  >  Hauptteil

javascript – js, wie man die Namen von Personen in alphabetischer Reihenfolge anordnet

Jetzt muss ich die Personalliste in alphabetischer Reihenfolge sortieren. Ich bitte die Rezeption um Rat

滿天的星座滿天的星座2712 Tage vor1212

Antworte allen(6)Ich werde antworten

  • 过去多啦不再A梦

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

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

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

    Antwort
    0
  • 迷茫

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

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

    Antwort
    0
  • 阿神

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

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

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

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

    Antwort
    0
  • 黄舟

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

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

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

    Antwort
    0
  • 迷茫

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

    ['小二','小弟','大哥'].sort((a, b) => a.localeCompare(b))

    Antwort
    0
  • 阿神

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

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

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

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

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

    Antwort
    0
  • StornierenAntwort