我有一个处理排序的通用函数。当排序日期淘汰.sort似乎偶尔会跳过一个记录。下面是代码的片段。当字段是日期时,它将跳过记录并对其余字段进行排序。降序排序很好。
self.OneTrueSortLocal = function (a, e) {
var us = this;
c = $(e.currentTarget),
sortby = c.data('sortby').split('.')[1],
dataSet = c.data('sortby').split('.')[0];
if (c.is('.sorted_DSC')) {
sortASC(); }
function sortASC() {
us[dataSet].sort(function (a, b) {
return a[sortby] == b[sortby] ? 0 : a[sortby] < b[sortby] ? -1 : 1;
});
}
答案 0 :(得分:0)
不是100%确定原因,但添加空值检查解决了这个问题。
var aVal = a || '';
var bVal = b || '';
return aVal < bVal ? -1 : 1;