-1
我想按三个值排序此JavaScript数组,但我似乎无法弄清楚如何一次对多个属性进行排序。按3个值对JavaScript数组进行排序
的要求是:
featured
项目应该是在最高层- 然后项目进行没有名(
null
) - 然后用姓名的项目是不
featured
- 按
createdAt
降序排序(从最新的优先排序)
这是数组:
var items [
{ name: 'foo-1', featured: true, createdAt: 1493000001 },
{ name: null, featured: false, createdAt: 1493000003 },
{ name: 'foo-3', featured: true, createdAt: 1493000002 },
{ name: 'foo-4', featured: false, createdAt: 1493000004 },
{ name: 'foo-5', featured: false, createdAt: 1493000005 },
];
结果应该是:
[
{ name: 'foo-3', featured: true, createdAt: 1493000002 },
{ name: 'foo-1', featured: true, createdAt: 1493000001 },
{ name: null, featured: false, createdAt: 1493000003 },
{ name: 'foo-5', featured: false, createdAt: 1493000005 },
{ name: 'foo-4', featured: false, createdAt: 1493000004 },
]
已经回答[如何排序多个字段对象数组?](HTTP的=> http://stackoverflow.com/a/4760279/1315419 – Vasan
可能重复:/ /stackoverflow.com/questions/6913512/how-to-sort-an-array-of-objects-by-multiple-fields) –
@Vasan是的,这个答案真的很好 - http://stackoverflow.com/a/ 4760279/2957677 –