【发布时间】:2015-06-11 21:25:51
【问题描述】:
在 dojo dgrid 中,我有一列要排序的浮点数。我从 SitePen 的 Ken Franqueiro 那里找到了这个关于排序的示例指令https://github.com/SitePen/dgrid/issues/276。
grid.set("sort", function(a,b) {
if(a.col5 > b.col5) { return 1; }
if(a.col5 < b.col5) { return -1 }
return 0;
});
由于我想将它们排序为浮点数,因此我进行了此更改。
grid.set("sort", function(a,b) {
var first = parseFloat(a.col5);
var second = parseFloat(b.col5);
if (first > second) { return 1; }
if (first < second) { return -1 }
return 0;
});
但是,它仍然将它们作为字符串排序,结果如下: -0.11 -7.15 0.12 1.25 10.9 2.02
我实际上并不确定它是否调用了我的函数; dojo 并不总是允许在类似代码中设置断点。因此,我更改了它并创建了一个函数 compareMyFloats(a,b) 与比较器代码,并从我的 grid.set 代码中调用它。我无法在函数的断点处停止。
因此,对列中的浮点数进行排序的正确方法是什么?
【问题讨论】:
标签: javascript sorting dojo dgrid