我有以下2D数组值:
A 65
B 7
C 775,259
D 893
E 97
F 92,260
G 77,364
H 7,722
I 9,240
J 789,212
我想按第二列按降序排序,我编写了一个自定义排序函数:
array.sort(function(a,b) {
return b[1] - a[1];
});
结果似乎按顺序排序......但是在字符比较中。结果是:
E 97
I 9,240
F 92,260
D 893
J 789,212
C 775,259
G 77,364
H 7,722
B 7
A 65
我知道这是排序,但不是我想要的方式。我已经尝试将数值转换为数字以确保,但我仍然得到相同的结果。我希望它按数值降序排序。有谁知道我怎么能做到这一点?
答案 0 :(得分:0)
我认为数据仍然是字符串格式。因此,您可能想要删除逗号并将字符串数据转换为这样的整数
array.sort(function(a,b) {
return parseInt(b[1].replace(",", "")) - parseInt(a[1].replace(",", ""));
});