現在要對人員列表,按照字母順序排序,後台目前沒有此功能,要求前台寫,求指點.謝謝!!
sort() 方法用于对数组的元素进行排序。arrayObject.sort(sortby)
直接用數組的 sort() 方法就可以,預設規則是按字母順序對數組中的元素進行排序。
人員清單放進數組中,用array.sort(),就是根據字母排序的 可參考:https://developer.mozilla.org...
var arr = ['ac','ab','bb','bc','aa']; arr.sort(); // ["aa", "ab", "ac", "bb", "bc"]
數組預設排序就是字典序。如果人員是中文,那麼需要先將中文轉成拼音,在進行排序。
轉拼音方法網上搜下就有。程式碼普遍較長,我不貼了。
說清楚點,是都是中文,還是有英文名字,然後如果有英文名字,是中文混排還是分開排?
簡單點,github上找個中文轉拼音的庫,把姓氏轉為拼音然後取首字母進行排序。
雷雷
建議擷取名字首字母存放到要排序的陣列裡面;然後使用sort進行排序。
至於樓上提供的代碼是有問題的;
console.log(['王', '啊','小','发','大哥'].sort((a, b) => a.localeCompare(b))); // -> 发 啊 大哥 小 王
正常的情況下,應該是輸出: 啊 大哥 發....
直接用數組的 sort() 方法就可以,預設規則是按字母順序對數組中的元素進行排序。
人員清單放進數組中,用array.sort(),就是根據字母排序的
可參考:https://developer.mozilla.org...
數組預設排序就是字典序。如果人員是中文,那麼需要先將中文轉成拼音,在進行排序。
轉拼音方法網上搜下就有。程式碼普遍較長,我不貼了。
說清楚點,是都是中文,還是有英文名字,然後如果有英文名字,是中文混排還是分開排?
簡單點,github上找個中文轉拼音的庫,把姓氏轉為拼音然後取首字母進行排序。
雷雷
建議擷取名字首字母存放到要排序的陣列裡面;
然後使用sort進行排序。
至於樓上提供的代碼是有問題的;
正常的情況下,應該是輸出: 啊 大哥 發....