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' ]
热门推荐
1 泰迪狗狗如何训练
3 狗狗训练图
5 狗狗训练方法
6 训练狗狗不咬人
8 敏捷训练狗狗
10 训练狗狗吃饭
11 泰迪狗狗训练
12 狗狗从多大开始训练
13 狗狗训练学校费用
14 怎么去训练狗狗
15 狗狗训练狗狗
16 狗狗训练教程
17 训练狗狗装死
18 泰迪狗狗的训练方法