【发布时间】:2019-03-14 04:14:08
【问题描述】:
我有如下数组,我想以更快的方式通过升序或降序按字母数字对其进行排序。
[
"NFO:BANKNIFTY1931428900CE",
"NFO:BANKNIFTY1931429000CE",
"NFO:BANKNIFTY1931429500CE",
"NFO:BANKNIFTY1931429400CE",
"NFO:BANKNIFTY1931429300CE",
"NFO:BANKNIFTY1931429200CE"
]
我想按如下方式排序,降序或升序
[
"NFO:BANKNIFTY1931429500CE",
"NFO:BANKNIFTY1931429400CE",
"NFO:BANKNIFTY1931429300CE",
"NFO:BANKNIFTY1931429200CE",
"NFO:BANKNIFTY1931429000CE",
"NFO:BANKNIFTY1931428900CE",
]
我尝试了类似下面的方法,但排序不正确而且速度也很慢。
function sort() {
var arr = disorderedArray;
arr.sort(function(a, b) {
a = a.split(" ");
b = b.split(" ");
var an = parseInt(a[0], 10);
var bn = parseInt(b[0], 10);
return an < bn ? 1 : (an > bn ? -1 : (a[1] < b[1] ? -1 : (a[1] > b[1] ? 1 : 0)));
});
console.log(arr.reverse());
}
注意:有时它可能涉及小写字母的混合。
【问题讨论】:
标签: javascript