2014-12-03 62 views
0
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,任何一種靈魂可以解決這個問題,也許只是語法錯誤JS有語法錯誤

Fiddle

+0

您是否嘗試了系統地刪除並重新引入代碼,直到找到有問題的行? – apsillers 2014-12-03 15:16:45

+1

據我所知,所有主流瀏覽器都有開發工具。按下鍵,應該彈出一些東西。選擇「控制檯」選項卡,運行JavaScript,錯誤將顯示在控制檯中。 – 2014-12-03 15:21:14

+1

控制檯顯示'Uncaught SyntaxError:Unexpected token else'。 [學習如何調試JavaScript](https://developer.chrome.com/devtools/docs/javascript-debugging),Stack Overflow不是一個調試服務。 – 2014-12-03 15:47:09

回答

3

你錯過起始if條款if (left.penalty_due_date() || right.penalty_due_date()) {之前。

+0

我不明白,我不認爲這是問題,你可以提供jsfiddle來證明它是正確的嗎? @limelights – 2014-12-03 15:27:04

+0

@CheongDMunPong提供:http://jsbin.com/rokixucasu/1/edit?js – 2014-12-03 15:28:47

+0

爲什麼我仍然看到你提供的那麼多錯誤?你能修復這些錯誤並再次展示我嗎?我可以自己檢查差異,tq – 2014-12-03 15:30:54

3

該錯誤是在這條線:

} else if (left.fl_due_date() == right.fl_due_date()) { 

}正在關閉的功能,而不是如果。

+0

我不明白,我不認爲這是問題,你能否提供jsfiddle來證明它是正確的? – 2014-12-03 15:26:39

+0

@CheongDMunPong:看看你的代碼的縮進。你不覺得奇怪的是,else if塊沒有與if塊對齊嗎? – 2014-12-03 15:50:14