2014-12-03 2 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

+1

Насколько я знаю, у всех основных браузеров есть инструменты для разработчиков. Нажмите клавишу , и что-то должно появиться. Выберите вкладку «Консоль», запустите JavaScript, и ошибки будут отображаться в консоли. –

+1

Консоль показывает 'Uncaught SyntaxError: Неожиданный токен else'. [Узнайте, как отлаживать JavaScript] (https://developer.chrome.com/devtools/docs/javascript-debugging), Stack Overflow не является отладочной службой. –

ответ

3

Вы пропустили начальный if положение перед if (left.penalty_due_date() || right.penalty_due_date()) {.

+0

Я не понимаю, я не думаю, что это проблема, можете ли вы предоставить jsfiddle, чтобы доказать, что это правильно? @limelights –

+0

@CheongDMunPong предоставил: http://jsbin.com/rokixucasu/1/edit?js –

+0

Почему я все еще вижу так много ошибок за то, что вы предоставили? можете ли вы исправить ошибки и показать мне еще раз? я могу проверить разницу сам, tq much –

3

Ошибка в этой строке:

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

The } закрывает функцию, а не если.

+0

Я не понимаю, я не думаю, что это проблема, можете ли вы предоставить jsfiddle, чтобы доказать, что это правильно? –

+0

@CheongDMunPong: Посмотрите на отступ вашего кода. Разве вам не кажется странным, что блок 'else if' не выстраивается в линию с блоком' if'? –

Смежные вопросы