我有下面这样的数组,我想通过字母数字排序,以更快的方式进行升序或降序。
[
"NFO:BANKNIFTY1931428900CE",
"NFO:BANKNIFTY1931429000CE",
"NFO:BANKNIFTY1931429500CE",
"NFO:BANKNIFTY1931429400CE",
"NFO:BANKNIFTY1931429300CE",
"NFO:BANKNIFTY1931429200CE"
]
Run Code Online (Sandbox Code Playgroud)
我想像下面这样排序,降序还是升序
[
"NFO:BANKNIFTY1931429500CE",
"NFO:BANKNIFTY1931429400CE",
"NFO:BANKNIFTY1931429300CE",
"NFO:BANKNIFTY1931429200CE",
"NFO:BANKNIFTY1931429000CE",
"NFO:BANKNIFTY1931428900CE",
]
Run Code Online (Sandbox Code Playgroud)
我尝试了以下类似的方法,但是它排序不正确,速度也很慢。
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());
}
Run Code Online (Sandbox Code Playgroud)
注意:有时可能会混合使用小写字母。
只需使用.sort()。
var items = [
"NFO:BANKNIFTY1931428900CE",
"NFO:BANKNIFTY1931429000CE",
"NFO:BANKNIFTY1931429500CE",
"NFO:BANKNIFTY1931429400CE",
"NFO:BANKNIFTY1931429300CE",
"NFO:BANKNIFTY1931429200CE"
]
var sorted = items.sort()
console.log(sorted);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
102 次 |
| 最近记录: |