0
我一整天都在阅读类似的帖子,但无法弄清楚如何通过多个属性对我的javascript数组进行排序。 我的数组有'名称'和'类型'属性。 按名称排序我现在用:通过Javascript中的多个属性对对象数组排序
byNameDesc.sort(function (a, b) {
var x = a.name.toLowerCase();
var y = b.name.toLowerCase();
return y < x ? -1 : y > x ? 1 : 0;
});
很好用。我想增强这个功能。如果'name'是'foo',它应该总是在最上面。我也想按'类型'排序。 所以'foo'应该总是在上面,然后按'name'和'type'排序。
我尝试这样做:
byNameDefault.sort(function (a, b) {
if (a.name == 'foo') {
return -1;
}
var x = a.type.toLowerCase();
var y = b.type.toLowerCase();
return x < y ? -1 : x > y ? 1 : 0;
});
但没有奏效。
我不知道如何按'名称'和'类型'进行排序。
任何帮助,非常感谢。
谢谢您的回答和解释。我现在明白我在做什么;) –