Для системы отслеживания проблем мне необходимо рассчитать время ответа на запрос. Таймер времени ответа должен работать только в рабочее время. Какой алгоритм/библиотеку следует использовать для этой задачи? (Конечно, я знаю о Joda-Time или ObjectLab Kit, но не смог найти ничего полезного в моей задаче. Я что-то пропускаю?)
Пример:
Метод может выглядеть примерно так:
DateTime calculateResponseTime(DateTime issueReportedAt)
Я приведу некоторые возможные входные данные и результаты в качестве примера:
Существует множество ответов на SO для аналогичных вопросов, которые описывают, как реализовать пользовательскую функцию сортировки для сортировки массива объектов javascript.
Однако мне было интересно, можно ли реализовать более абстрактную пользовательскую сортировку, которая позволила бы передать имя свойства объектов, по которым я хочу выполнить сортировку. Это может спасти меня от необходимости реализовывать очень похожие функции снова и снова.
Так что если бы у меня был конструктор объекта, как:
function Car(mph, cc) {
this.maxSpeed = mph;
this.engineSize = cc;
}
, то вместо реализации двух функций сортировки:
function sortCarsOnMaxSpeed(a, b) { return a.maxSpeed - b.maxSpeed; }
function sortCarsOnEngineSize(a, b) { return a.engineSize - b.engineSize; }
я мог бы иметь какую-то родовую функцию, такую как:
function sortObjectsOnProperty(a, b, property) {
return a[property] - b[property];
}
, но пользовательская сортировка, кажется, принимает только 2 аргументы.
Любые предложения о том, как я мог это сделать?
Большое спасибо.