Javascript 如果数据大于1,如何在数组中存储数据?

Javascript 如果数据大于1,如何在数组中存储数据?,javascript,jquery,arrays,vue.js,key,Javascript,Jquery,Arrays,Vue.js,Key,我有这个剧本: let数据=[ {日期:1,时间:'08:00',注:'madrid'}, {日期:2,时间:'08:00',注:'barcelona'}, {日期:3,时间:'10:00',注:'尤文图斯'}, ] 让天数=[7,1,2,3,4,5,6] 让列表=[] days.forEach(元素=>{ 让item=data.find(x=>x.day==element) 如果(项目){ 列表。推送(项目) }否则{ push({day:element,time:undefined}) }

我有这个剧本:

let数据=[
{日期:1,时间:'08:00',注:'madrid'},
{日期:2,时间:'08:00',注:'barcelona'},
{日期:3,时间:'10:00',注:'尤文图斯'},
]
让天数=[7,1,2,3,4,5,6]
让列表=[]
days.forEach(元素=>{
让item=data.find(x=>x.day==element)
如果(项目){
列表。推送(项目)
}否则{
push({day:element,time:undefined})
}
});
如果脚本被执行,它就会工作。它将显示从第1天到第7天的日程安排。 然而,我的问题是数据变量是动态的。因此,一天可能有不止一个时间表,如下所示:

let数据=[
{日期:1,时间:'08:00',备注:'madrid'},{日期:1,时间:'09:00',备注:'chelsea'},
{日期:2,时间:'08:00',注释:'barcelona'},{日期:2,时间:'09:00',注释:'mu'},
{日期:3,时间:'10:00',注:'尤文图斯'}
]
也许我应该每天制作一个内部数组(以天为键),这样我就可以保存具有多个计划的数据天


我该怎么做?

你能做这样的事情吗

let数据=[
{日期:1,时间:'08:00',备注:'madrid'},{日期:1,时间:'09:00',备注:'chelsea'},
{日期:2,时间:'08:00',注释:'barcelona'},{日期:2,时间:'09:00',注释:'mu'},
{日期:3,时间:'10:00',注:'尤文图斯'}
]
让天数=[7,1,2,3,4,5,6];
让列表=[];
天。forEach(天=>{
list.push({day,schedule:[…data.filter(d=>d.day===day)]
.map(d=>({time:d.time,note:d.note}))
})
});
控制台日志(列表);

好吧,假设您有:

let days=[7,1,2,3,4,5,6]
让数据=[
{日期:1,时间:'08:00',注:'madrid'},
{日期:1,时间:'09:00',注:'chelsea'},
{日期:2,时间:'08:00',注:'barcelona'},
{日期:2,时间:'09:00',注:'mu'},
{日期:3,时间:'10:00',注:'尤文图斯'}
]
我首先过滤
数据
数组,用键获取所有对象,然后将所有这些项推送到
列表
结果变量。一种方法可以是:


天。forEach(d=>{
let daySchedule=data.filter(elem=>{
元素日===d;
});
如果(daySchedule.length>0){
daySchedule.forEach(elem=>list.push(elem));
}
否则{
push({day:d,time:undefined})
}
});

请为第二个数据集添加所需的结果。这将有助于了解此映射的用例data@NinaScholz我想要乔恩·沃伦那样的结果。但是note键没有放在schedule键中。但是像白天的钥匙一样,钥匙
注意
可以存储在钥匙
日程表
之外吗?因此,关键
日期
,关键
注释
,关键
时间表
。“键”时间表仅包含
时间