3
var data = [{
"priority": "1",
"date": "01.03.2013",
"title": "Yeah hi"
}, {
"priority": "2",
"date": "",
"title": "Another title"
}, {
"priority": "2",
"date": "22.12.2013",
"title": "Foo"
}, {
"priority": "1",
"date": "10.04.2013",
"title": "Hey there"
}, {
"priority": "2",
"date": "15.08.2013",
"title": "Hello world"
},
...
]
У меня есть многомерный массив, и я хочу его сортировать сложным способом.Сортировка многомерного массива по нескольким критериям
- Сначала сортировать по «Приоритет» - наивысший приоритет первого
- Затем сортировать все элементы с одинаковым приоритетом по «дата» - на следующую дату около сегодня первый (есть только даты в будущем). И если у элемента нет даты, поставьте его в конце.
- Сортировать все элементы с той же датой (и все без даты) по «названию» - по алфавиту
Первый шаг это не проблема с data.sort(), но тогда я не имею никакого плана для выполнения что. Как это сделать?
Возможный дубликат: http://stackoverflow.com/questions/3886165/javascript-sort-multidimensional-array –
Было бы дубликатом, если я только хочу, чтобы сортировать по приоритету. Но это не моя проблема ... –
Это же _principle_ хотя - вы пишете свою собственную небольшую функцию сравнения, которая сравнивает два элемента в соответствии со всеми вашими критериями, пока не сможет решить, какой из них «меньше», чем другой (или узнайте, что в конечном итоге они будут считаться равными). – CBroe