【发布时间】:2014-06-13 11:56:33
【问题描述】:
我有一个对象数组,例如:
var a = [
{ value: 500, name: 'ccc' },
{ value: 100, name: 'bbb' },
{ value: 500, name: 'aaa' },
{ value: 300, name: 'eee' },
];
我需要按 value 字段的降序对它进行排序,如果 value 字段等于 AND - 然后对这两个对象进行排序按字段名称的字母顺序。
我尝试这样的事情:
a.sort(function (a, b) {
return b["value"] - a["value"] || (a["name"] > b["name"]) ? 1: -1;
});
但这不会导致
500,aaa
500,ccc
300,eee
100,bb
如我所料
【问题讨论】:
-
“不工作”是什么意思?有什么错误吗?
-
@mplungjan 结果的顺序是 300、500、100、500。这不是字段值的降序。
-
这不是我的结果,我只是粘贴了代码。
标签: javascript