Javascript 2D数组排序降序无法正常工作

时间:2014-01-05 17:03:37

标签: javascript arrays sorting

我有以下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

我知道这是排序,但不是我想要的方式。我已经尝试将数值转换为数字以确保,但我仍然得到相同的结果。我希望它按数值降序排序。有谁知道我怎么能做到这一点?

1 个答案:

答案 0 :(得分:0)

我认为数据仍然是字符串格式。因此,您可能想要删除逗号并将字符串数据转换为这样的整数

array.sort(function(a,b) {
  return parseInt(b[1].replace(",", "")) - parseInt(a[1].replace(",", ""));
});