【发布时间】:2018-11-17 06:35:56
【问题描述】:
我有一个未排序的对象数组,具有 2 个相关属性:type 和 date。
我需要对这个数组进行排序:
- 按日期和
- 按类型(对于每一年,
deposit应排在withdrawal之前)
这是一个输入示例:
let i = [
{
date:'2017',
type:'withdrawal',
amount:-5
},
{
date:'2016',
type:'deposit',
amount:12
},
{
date:'2018',
type:'deposit',
amount:54
},
{
date:'2017',
type:'deposit',
amount:20
},
{
date:'2016',
type:'withdrawal',
amount:55
},
{
date:'2018',
type:'withdrawal',
amount:54
}
]
目标是输出如下内容:
let o = [
{
date:'2016',
type:'deposit',
amount:12
},
{
date:'2016',
type:'withdrawal',
amount:55
},
{
date:'2017',
type:'deposit',
amount:20
},
{
date:'2017',
type:'withdrawal',
amount:-5
},
{
date:'2018',
type:'deposit',
amount:54
},
{
date:'2018',
type:'withdrawal',
amount:54
}
]
到目前为止,我设法使用以下方法按日期对数组进行排序:
o = i.sort((a,b)=>(a.date - b.date))
但我找不到按类型排序的方法
【问题讨论】:
标签: javascript sorting object data-structures