使用js,对含有中文和英文进行混合排序
使用js对数组
let arr = ['Alice','NAncy','陈趁', '朱新','Lily', '林大','Linda', 'Fiona', '雷老虎', 'Tina', '苏仨', 'Susan', 'Cary']按要求进行排序
1.要求对名字按字母排序,英文优先
function sortFun(a, b) {
if(/^[a-z]/i.test(a) || /^[a-z]/i.test(b)){
return a.localeCompare(b, 'en')
}else {
return a.localeCompare(b, 'zh-cn')
}
}
arr.sort(sortFun)
/* arr = [
'Alice', 'Cary',
'Fiona', 'Lily',
'Linda', 'NAncy',
'Susan', 'Tina',
'陈趁', '雷老虎',
'林大', '苏仨',
'朱新'
] */
2.要求对名字按字母排序,中文优先
function sortFun(a, b) {
return a.localeCompare(b, 'zh-cn')
}
arr.sort(sortFun)
/* arr ===> [
'陈趁', '雷老虎',
'林大', '苏仨',
'朱新', 'Alice',
'Cary', 'Fiona',
'Lily', 'Linda',
'NAncy', 'Susan',
'Tina'
] */