怎么对一组数据按照某个特定字段进行分组?
比如我有一组数据
[
{
'time': '2018-03-01',
'data': 1,
},
{
'time': '2018-02-02',
'data': 2,
},
{
'time': '2018-01-01',
'data': 3,
},
{
'time': '2017-12-01',
'data': 4,
},
{
'time': '2017-11-02',
'data': 5,
},
{
'time': '2016-10-01',
'data': 6,
},
{
'time': '2016-9-01',
'data': 7,
}
]
实际业务场景是对这组数据进行分组,每5条一组 但是这5条还要根据他们的日期年份分小组
比如上面这7条分出来结果就是:
[
{
section: 1,
sectionDatas: [
{
date: '2018',
datas: [
{
'time': '2018-03-01',
'data': 1,
},
{
'time': '2018-02-02',
'data': 2,
},
{
'time': '2018-01-01',
'data': 3,
}
]
},
{
date: '2017',
datas: [
{
'time': '2017-12-01',
'data': 4,
},
{
'time': '2017-11-02',
'data': 5,
}
]
}
]
},
{
section: 2,
sectionDatas: [
{
date: '2016',
datas: [
{
'time': '2016-10-01',
'data': 6,
},
{
'time': '2016-9-01',
'data': 7,
}
]
}
]
}
]
这个算法该怎么写呢。。求指教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
步骤
*第一步:排序,时间从近到远
*第二步:分割,将数组分成5个一组,返回新数组
*第三步:抽离,将相同时间抽离出来组成要求上的数据格式
代码
最近刚研究的函数式编程
提供个思路,修改一下应该能用