Conformance: layout done.(not time range)
This commit is contained in:
22
src/module/sortNumEngZhtw.js
Normal file
22
src/module/sortNumEngZhtw.js
Normal file
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* 數字、英文、中文,排序
|
||||
* @param {array} data
|
||||
* @returns
|
||||
*/
|
||||
export default function sortNumEngZhtw(data) {
|
||||
return data.sort((a, b) => {
|
||||
// 檢查兩個值是否都是數字
|
||||
var isANumber = !isNaN(parseFloat(a)) && isFinite(a);
|
||||
var isBNumber = !isNaN(parseFloat(b)) && isFinite(b);
|
||||
|
||||
// 如果兩個值都是數字,直接比較大小
|
||||
if (isANumber && isBNumber) return parseFloat(a) - parseFloat(b);
|
||||
|
||||
// 如果其中一個值是數字,將數字視為最小,排在前面
|
||||
if (isANumber) return -1;
|
||||
if (isBNumber) return 1;
|
||||
|
||||
// 其他情況下,使用 localeCompare 方法進行中文排序
|
||||
return a.localeCompare(b, 'zh-Hant-TW', { sensitivity: 'accent' });
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user