2015-03-02 2 views
0

Я пытаюсь сортировать мой массив объектов, которые имеют значения даты по дате, самым новым и последним последним.JavaScript Сортировка объектов по дате

У меня есть следующий код:

function comp(a, b) { 
    return new Date(a.jsDate) - new Date(b.jsDate); 
} 

function compNewestFirst(a, b) { 
    return new Date(b.jsDate) - new Date(a.jsDate); 
} 

Обратите внимание JS Дата действительный формат даты/новый Date() принимает.

я могу получить его заказ старейшей первый, но не самый новый первый и я попытался следующие:

return new Date(b.jsDate) + new Date(a.jsDate); 

Ток I CAN NOT сортировать по новизне дате первого и он работает только OLDEST первым.

Благодаря

+2

Итак, в чем вопрос? – hindmost

+0

Как отсортировать сначала новые, а не самые старые сначала – LmC

ответ

1

Попробуйте:

function compNewestFirst(a, b) { 
    return new Date(b.jsDate).getTime() - new Date(a.jsDate).getTime(); 
} 

возвращение будет отрицательным целым числом, и вы будете иметь возможность сделать заказ.

Адрес FIDDLE;

+0

зачем использовать 'getTime()'? – Hacketo

+0

@Hacketo Вы правы. Не нужно использовать 'getTime()', потому что вычитание уже возвращает результат в миллисекундах – nanndoj

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