Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从分组的日期时间创建对象_Javascript_Jquery - Fatal编程技术网

Javascript 从分组的日期时间创建对象

Javascript 从分组的日期时间创建对象,javascript,jquery,Javascript,Jquery,我得到了一个datetimes数组-我需要一个对象,其中日期被分组为键,值应该是该日期的时间数组。资料来源: [ "2019-02-18T11:30:00+01:00", "2019-02-18T13:00:00+01:00", "2019-02-19T13:30:00+01:00", "2019-02-19T16:30:00+01:00", "2019-02-20T17:00:00+01:00", "2019-02-20T17:30:00+01:

我得到了一个datetimes数组-我需要一个对象,其中日期被分组为键,值应该是该日期的时间数组。资料来源:

[
    "2019-02-18T11:30:00+01:00",
    "2019-02-18T13:00:00+01:00",
    "2019-02-19T13:30:00+01:00",
    "2019-02-19T16:30:00+01:00",
    "2019-02-20T17:00:00+01:00",
    "2019-02-20T17:30:00+01:00",
    "2019-02-20T18:00:00+01:00"
]
我需要这个:

{
    '2019-02-18': [
        '11:30:00+01:00',
        '13:00:00+01:00'
    ],
    '2019-02-19': [
        '13:30:00+01:00',
        '16:30:00+01:00'
    ],
    ...
}
一种解决方案是循环数组,去掉前10个字符并匹配其他日期时间-这不是很好的tbh。

您可以使用

let data=[“2019-02-18T11:30:00+01:00”,“2019-02-18T13:00:00+01:00”,“2019-02-19T13:30:00+01:00”,“2019-02-19T16:30:00+01:00”,“2019-02-20T17:30:00+01:00”,“2019-02-20T18:00:00+01:00”]
让op=data.reduce((op,inp)=>{
let[key,value]=inp.split('T')
如果(操作[键]){
op[键]。推送(值)
}否则{
op[键]=[值]
}
返回操作
},{})
console.log(op)
一种替代方法是与

const输入=[
“2019-02-18T11:30:00+01:00”,
“2019-02-18T13:00:00+01:00”,
“2019-02-19T13:30:00+01:00”,
“2019-02-19T16:30:00+01:00”,
“2019-02-20T17:00:00+01:00”,
“2019-02-20T17:30:00+01:00”,
“2019-02-20T18:00:00+01:00”
];
让res=输入。减少((acc,日期)=>
{
设[m,d,t]=date.match(/(.++)t(.+)/);
acc[d]=[…(acc[d]| |[]),t];
返回acc;
}, {});
控制台日志(res)您是否尝试过“一种解决方案”?可能重复