diff --git a/src/components/Discover/Conformance/ConformanceSidebar/ActList.vue b/src/components/Discover/Conformance/ConformanceSidebar/ActList.vue index 5ba1098..0d2530d 100644 --- a/src/components/Discover/Conformance/ConformanceSidebar/ActList.vue +++ b/src/components/Discover/Conformance/ConformanceSidebar/ActList.vue @@ -12,7 +12,7 @@ - diff --git a/src/components/Discover/Map/SidebarFilter.vue b/src/components/Discover/Map/SidebarFilter.vue index 03de148..3bfec02 100644 --- a/src/components/Discover/Map/SidebarFilter.vue +++ b/src/components/Discover/Map/SidebarFilter.vue @@ -476,7 +476,6 @@ export default { } } // 將資料指向 Vue data 雙向綁定 - console.log(data); const postData = Array.isArray(data) ? data : [data]; // 快速檢查每一 filter 規則是否為空集合 diff --git a/src/module/sortNumEngZhtw.js b/src/module/sortNumEngZhtw.js index 829f10a..ac6540b 100644 --- a/src/module/sortNumEngZhtw.js +++ b/src/module/sortNumEngZhtw.js @@ -3,7 +3,7 @@ * @param {array} data * @returns */ -export default function sortNumEngZhtw(data) { +export function sortNumEngZhtw(data) { return data.sort((a, b) => { // 檢查兩個值是否都是數字 var isANumber = !isNaN(parseFloat(a)) && isFinite(a); @@ -20,3 +20,24 @@ export default function sortNumEngZhtw(data) { return a.localeCompare(b, 'zh-Hant-TW', { sensitivity: 'accent' }); }); } +/** + * 數字、英文、中文,給 Filter Table 排序 + * @param {string} a label + * @param {string} b label + * @returns + */ +export function sortNumEngZhtwForFilter(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' }); +}