如何按数字(按 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"
}
]