self.sortDeadlineFwdLive = function () {
self.deadline_fwd_lives.sort(function (left, right) {
if (left.penalty_due_date() || right.penalty_due_date()) {
if (left.penalty_due_date() == right.penalty_due_date()) {
return left.returned_date() == right.returned_date() ? 0 : ((left.returned_date() && left.returned_date() < right.returned_date()) || !right.returned_date() ? -1 : 1);
}
return left.fl_due_date() == right.fl_due_date() ? 0 : ((left.fl_due_date() && left.fl_due_date() < right.fl_due_date()) || !right.fl_due_date() ? -1 : 1);
}
return left.penalty_due_date() == right.penalty_due_date() ? 0 : ((left.penalty_due_date() && left.penalty_due_date() < right.penalty_due_date()) || !right.penalty_due_date() ? -1 : 1);
} else if (left.fl_due_date() == right.fl_due_date()) {
if (left.penalty_due_date() != right.penalty_due_date()) {
return left.returned_date() == right.returned_date() ? 0 : ((left.returned_date() && left.returned_date() < right.returned_date()) || !right.returned_date() ? -1 : 1);
}
return left.fl_due_date() == right.fl_due_date() ? 0 : ((left.fl_due_date() && left.fl_due_date() < right.fl_due_date()) || !right.fl_due_date() ? -1 : 1);
} else {
return left.returned_date() == right.returned_date() ? 0 : ((left.returned_date() && left.returned_date() < right.returned_date()) || !right.returned_date() ? -1 : 1);
}
});
};
上面是我的js函数的代码,但是我无法得到它,已经尝试了几个小时,仍然无法弄清楚,我对js很糟糕,任何善良的灵魂都可以解决它,也许只是语法错误
<强> Fiddle
最佳答案
您缺少 if (left.penalty_due_date() || right.penalty_due_date()) {
之前的起始 if
子句。
关于javascript - JS 有语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27275176/