现在要对人员列表,按照字母顺序排序,后台目前没有此功能,要求前台写,求指点.谢谢!!
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进行排序。
至于楼上提供的代码是有问题的;
正常的情况下,应该是输出: 啊 大哥 发....