From f366977511458de9c74b2100dd3d1fa7b32c39bd Mon Sep 17 00:00:00 2001 From: src48597962 <48597962@qq.com> Date: Sat, 3 Feb 2024 22:45:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20'SrcJuPublic.js'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SrcJuPublic.js | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/SrcJuPublic.js b/SrcJuPublic.js index 58d1f171..afa74f91 100644 --- a/SrcJuPublic.js +++ b/SrcJuPublic.js @@ -459,23 +459,17 @@ function SortList(a, b) { return 1; } - // 判断是否为英文字符 - function isAscii(char) { - return /^[A-Za-z]$/.test(char); - } - // 英文字符排序 - if (isAscii(aFirstChar) && isAscii(bFirstChar)) { + if (/^[A-Za-z]$/.test(aFirstChar) && /^[A-Za-z]$/.test(bFirstChar)) { return aFirstChar.localeCompare(bFirstChar, 'en', { sensitivity: 'base' }); } - // 如果仅有一个是英文字符,则英文排在前面 - if (isAscii(aFirstChar)) { - return -1; - } else if (isAscii(bFirstChar)) { - return 1; + // 中文字符排序(通过Unicode码点近似按拼音顺序) + if (/^[\u4e00-\u9fa5]$/.test(aFirstChar) && /^[\u4e00-\u9fa5]$/.test(bFirstChar)) { + return aFirstChar.charCodeAt(0) - bFirstChar.charCodeAt(0); } - // 其他情况(包括中文字符)按Unicode编码排序 - return aFirstChar.charCodeAt(0) - bFirstChar.charCodeAt(0); + // 其他情况,返回ASCII比较结果作为默认排序 + return aFirstChar.localeCompare(bFirstChar); } +