gpt4 book ai didi

javascript - 最后以特殊字符排序

转载 作者:行者123 更新时间:2023-12-03 06:06:31 24 4
gpt4 key购买 nike

我查看了一个旧线程,由于特殊情况“zz”、“ZZZ”等,我得到的答案实际上不起作用。

array.sort(function(a,b) {
return a.replace(/^\W+/, 'z').localeCompare(b.replace(/^\W+/, 'z'));
});

所以,我想出了我自己的调整版本,它是:

array.sort(function(a,b) {
return a.replace(/^\W+/, 'Ω').localeCompare(b.replace(/^\W+/, 'Ω'));
});

但我觉得这是一个非常糟糕的做法,因为它是一种黑客行为。有没有更简单但更正确的方法来做到这一点?

输入:

 ['111', '-213', '_1231', 'aasda', 'zzadsa', '<da>']

预期输出:

 ['111', 'aasda', 'zzadsa', '-213', '_1231', '<da>']

最佳答案

您应该使用最大代码单位,而不是使用任意“大”字符值,例如 ZΩ:

 var last = String.fromCharCode(0xFFFF);
function ignoreSpecialChars(x) {
return x.replace(/\W/g, last);
}
function compare(a, b) {
a = ignoreSpecialChars(a);
b = ignoreSpecialChars(b);
return (a>b)-(b>a);
}

array.sort(compare);

关于javascript - 最后以特殊字符排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39515961/

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