【发布时间】:2018-02-07 18:03:27
【问题描述】:
旧列表:
var oldList = [
{id:1, time:'2018-02-06 09:00-10:00', title:'aa'},
{id:2, time:'2018-02-06 11:00-12:00', title:'bb'},
{id:3, time:'2018-02-07 10:00:02', title:'cc'},
{id:4, time:'2018-02-07 09:00-10:00', title:'dd'}
];
console.log(oldList);
期望:
var newList = [
{
'2018-02-06' : [
{id:1, time:'2018-02-06 09:00-10:00', title:'aa'},
{id:2, time:'2018-02-06 11:00-12:00', title:'bb'},
]
},
{
'2018-02-07' : [
{id:4, time:'2018-02-07 09:00-10:00', title:'dd'},
{id:3, time:'2018-02-07 10:00:02', title:'cc'},
]
},
];
console.log(newList);
如何从这个数组和对象中得到以下结果? 暂时还没有找到好的解决办法。
【问题讨论】:
-
为什么要一个带有任意键的对象数组?更好的
[{ date: "...", items: [...]}]或按日期排列的单个项目地图var itemsByDate = {'2018-02-06': [...], '2018-02-07': [...]} -
解决方案不只是找到,你必须做一些工作来为任务创建算法。请展示您的尝试。
-
if (using lodash) _.groupBy else use lodash;)
标签: javascript arrays node.js object