JavaScript 数组中按升序排列数字和按字母顺序排列字符串
问题
我们需要编写一个接受数字和字符串数组的 JavaScript 函数。我们的函数应该返回一个数组,该数组首先按升序排列数字,然后按字母顺序排列字符串。
这些值必须保持其原始类型。
示例
以下是代码 -
const arr = [5, 8, 'car', 'dad', 'amber', 1, 12, 76, 'bat'];输出结果const separateSort = (arr = []) => {
const sorter = (a, b) => {
if(typeof a === 'number' && typeof b === 'string'){
return -1;
};
if(typeof a === 'string' && typeof b === 'number'){
return 1;
};
if(typeof a === 'string' && typeof b === 'string'){
return a.charCodeAt(0) - b.charCodeAt(0);
};
return a - b;
};
const res = arr.sort(sorter);
return res;
};
console.log(separateSort(arr));
以下是控制台输出 -
[1, 5,
8, 12,
76, 'amber',
'bat', 'car',
'dad'
]
以上是 JavaScript 数组中按升序排列数字和按字母顺序排列字符串 的全部内容, 来源链接: utcz.com/z/360499.html