过去多啦不再A梦2017-05-19 10:43:37
sort() 方法用于对数组的元素进行排序。arrayObject.sort(sortby)
直接用數組的 sort() 方法就可以,預設規則是按字母順序對數組中的元素進行排序。
阿神2017-05-19 10:43:37
var arr = ['ac','ab','bb','bc','aa'];
arr.sort();
// ["aa", "ab", "ac", "bb", "bc"]
數組預設排序就是字典序。如果人員是中文,那麼需要先將中文轉成拼音,在進行排序。
轉拼音方法網上搜下就有。程式碼普遍較長,我不貼了。
黄舟2017-05-19 10:43:37
說清楚點,是都是中文,還是有英文名字,然後如果有英文名字,是中文混排還是分開排?
簡單點,github上找個中文轉拼音的庫,把姓氏轉為拼音然後取首字母進行排序。
阿神2017-05-19 10:43:37
建議擷取名字首字母存放到要排序的陣列裡面;
然後使用sort進行排序。
至於樓上提供的代碼是有問題的;
console.log(['王', '啊','小','发','大哥'].sort((a, b) => a.localeCompare(b)));
// -> 发 啊 大哥 小 王
正常的情況下,應該是輸出: 啊 大哥 發....