Возможный дубликат:
Сортировка объектов в массиве по значению поля в JavaScript
Как я могу отсортировать массив объектов численно (по id), затем в алфавитном порядке (по имени)?
В текущем способе указан недопустимый вывод.
Это объект, который я пытаюсь сортировать по
var items = [
{
"id": 165,
"name": "a"
},
{
"id": 236,
"name": "c"
},
{
"id": 376,
"name": "b"
},
{
"id": 253,
"name": "f"
},
{
"id": 235,
"name": "e"
},
{
"id": 24,
"name": "d"
},
{
"id": 26,
"name": "d"
}
]
и способ, которым я пытаюсь сортировать
items.sort(function(a, b) {
return (a.id - b.id);
}).sort(function(a, b) {
return (a.name - b.name);
});
вот jsfiddle.
EDIT: Извините за путаницу, я был так смущен этой проблемой на некоторое время.
То, что я пытаюсь выполнить, - сначала отсортировать по наивысшему идентификатору, а затем отсортировать по алфавиту, чтобы в конце он выглядел так:
var items = [
{
"id": 376,
"name": "b"
},
{
"id": 253,
"name": "f"
},
{
"id": 236,
"name": "c"
},
{
"id": 235,
"name": "e"
},
{
"id": 165,
"name": "a"
},
{
"id": 26,
"name": "d"
},
{
"id": 24,
"name": "d"
}
]