Как я могу заказать строки даты и времени в Javascript? - PullRequest
2 голосов
/ 06 сентября 2011

Я получаю из youtube JSON-запроса (после небольшого разбора объектов) эти строки (которые должны представлять datetime):

2009-12-16T15:51:57.000Z
2010-11-04T10:01:15.000Z
2010-11-04T14:00:04.000Z
2010-11-04T11:12:36.000Z
2010-11-04T10:24:26.000Z
2010-11-04T12:05:58.000Z
2010-04-30T13:28:08.000Z
2010-11-17T13:57:27.000Z

На самом деле мне нужно упорядочить этот список (по убыванию), чтобы взять недавно опубликованное видео. Но как я могу заказать эти даты? Есть ли нативный метод на JS?

Ответы [ 3 ]

2 голосов
/ 06 сентября 2011

Простой способ добиться этого - поместить все эти элементы в массив строк и отсортировать этот массив.

var arr = [ "2", "1", "3" ];
arr.sort(); // this gives [ "1", "2", "3" ]

Полный документ можно прочитать здесь:

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/array/sort

1 голос
/ 06 сентября 2011

Вы просили сортировку по убыванию.Быстрый способ - использовать реверс.

http://jsfiddle.net/6pLHP/

a = [
    "2009-12-16T15:51:57.000Z",
    "2010-11-04T10:01:15.000Z",
    "2010-11-04T14:00:04.000Z",
    "2010-11-04T11:12:36.000Z",
    "2010-11-04T10:24:26.000Z",
    "2010-11-04T12:05:58.000Z",
    "2010-04-30T13:28:08.000Z",
    "2010-11-17T13:57:27.000Z"
];
alert(JSON.stringify(a.sort().reverse()));
1 голос
/ 06 сентября 2011

Вы можете просто использовать метод сортировки по умолчанию для этого, потому что даты отлично отформатированы, чтобы выполнить некоторую сортировку (год, месяц, день, час, минута, секунда). Это было бы намного сложнее, если бы все было наоборот. Проверьте сортировать например:

var unsortedArray = [ 
    "2009-12-16T15:51:57.000Z", 
    "2010-11-04T10:01:15.000Z", 
    "2010-11-04T14:00:04.000Z",
    "2010-11-04T11:12:36.000Z" ]; 

var sortedArray = unsortedArray.sort(); 

Если вы хотите изменить сортировку по убыванию, добавьте .reverse () к отсортированному массиву.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...