オブジェクトの配列を数値(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です。
編集:混乱して申し訳ありませんが、私はしばらくの間この問題にとても混乱してきました。
私が達成しようとしているのは、最初に最高のIDで並べ替えてから、アルファベット順に並べ替えることです。最終的には次のようになります。
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"
}
]