JavaScript中区分大小写的排序
假设我们有一个字符串文字数组,如下所示:
const arr = ['1185 Design','3 D Exhibits','44Doors', '4Concepts','ABC Data','acceleration'];
我们需要编写一个JavaScript函数,该函数接受一个这样的数组并对数组进行原位排序。
排序功能应使所有以特殊字符,数字开头的字符串首先出现。
然后,该字符串应按字母顺序出现,并且如果我们有两个以相同字母开头但大小写不同的字符串,则应以小写字母开头的字符串首先出现。
示例
为此的代码将是-
const arr = ['1185 Design','3 D Exhibits','44Doors', '4Concepts','ABC Data','acceleration'];
const caseSensitiveSort = (arr = []) => {
const sorter = (a, b) => {
if (a === b){
return 0
};
if (a.charAt(0) === b.charAt(0)){
return sorter(a.slice(1), b.slice(1))
}
if(a.charAt(0).toLowerCase() === b.charAt(0).toLowerCase()){
if(/^[a-z]/.test(a.charAt(0)) && /^[A-Z]/.test(b.charAt(0))){
return -1;
};
if(/^[a-z]/.test(b.charAt(0)) && /^[A-Z]/.test(a.charAt(0))){
return 1;
};
};
return a.localeCompare(b);
};
arr.sort(sorter);
}
caseSensitiveSort(arr);
console.log(arr);输出结果
控制台中的输出将是-
[ '1185 Design', '3 D Exhibits', '44Doors', '4Concepts', 'acceleration', 'ABC Data' ]
热门推荐
10 新人红包祝福语简短精辟
11 幼师给毕业祝福语简短
12 生日高考祝福语妹妹简短
13 下飞机祝福语简短英文
14 元宵发客户祝福语简短
15 爸妈金婚文案祝福语简短
16 新郎朋友红包祝福语简短
17 虎年五一祝福语大全简短
18 出阁宴祝福语姐姐简短