gpt4 book ai didi

JavaScript如何将区域设置语言与英语一起排序

转载 作者:行者123 更新时间:2023-12-02 22:13:04 25 4
gpt4 key购买 nike

function letterSort(lang, letters) {
letters.sort(new Intl.Collator(lang).compare);
return letters;
}
console.log(letterSort('zh', ['a','z','诶']));
// Actual output: ["诶", "a", "z"]
// Expected output: ["a", "z"," 诶" ]

我希望先排序英文,后排序中文 注意:中文字符也应该排序

最佳答案

您可以首先比较两个比较的字母是否来自同一范围,假设英语被限制为 Unicode 中的前 256 个字符。如果是这种情况,请使用适当的比较器函数,如果不是,请先使用英语。

function letterSort(lang, letters) {
let cmp = new Intl.Collator(lang).compare;
letters.sort((a, b) =>
(a > "\xff") - (b > "\xff") || (a > "\xff" ? cmp(a, b) : a.localeCompare(b))
);
return letters;
}
console.log(letterSort('zh', ['a','z','诶', 'A', 'Z', '诵', '@', '1']));

关于JavaScript如何将区域设置语言与英语一起排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59494537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com