Javascript 按键对对象中的数组进行分组

Javascript 按键对对象中的数组进行分组,javascript,arrays,object,Javascript,Arrays,Object,我有一个问题,我的对象组的一天,我测试了很多方法,但没有成功,我不知道我是否可以做到这与lodash或下划线。如果有人能帮我,我已经坚持了好几天了。有人知道这个问题的解决办法吗 const schedules = { Friday : [ {isOpen: true}, {morningOpen: "08:30"}, {morningClose: "12:00"}, {afternoonOpen: "18:30"}, {aft

我有一个问题,我的对象组的一天,我测试了很多方法,但没有成功,我不知道我是否可以做到这与lodash或下划线。如果有人能帮我,我已经坚持了好几天了。有人知道这个问题的解决办法吗

const schedules = {
Friday : [
 {isOpen: true},
 {morningOpen: "08:30"},
 {morningClose: "12:00"},
 {afternoonOpen: "18:30"},
 {afternoonClose: "18:30"}
],
Monday : [
 {isOpen: true},
 {morningOpen: "08:30"},
 {morningClose: "12:00"},
 {afternoonOpen: "18:30"},
 {afternoonClose: "18:30"}
],
Saturday : [
 {isOpen: true},
 {morningOpen: "08:30"},
 {morningClose: "12:00"},
 {afternoonOpen: "20:30"},
 {afternoonClose: "20:30"}
]
Sunday : [
 {isOpen: true},
 {morningOpen: "08:30"},
 {morningClose: "12:00"},
 {afternoonOpen: "20:30"},
 {afternoonClose: "20:30"}
],
Thursday : [
 {isOpen: true},
 {morningOpen: "08:30"},
 {morningClose: "12:00"},
 {afternoonOpen: "18:30"},
 {afternoonClose: "18:30"}
],
Tuesday : [
 {isOpen: true},
 {morningOpen: "08:30"},
 {morningClose: "12:00"},
 {afternoonOpen: "18:30"},
 {afternoonClose: "18:30"}
],
Wednesday : [
 {isOpen: true},
 {morningOpen: "08:30"},
 {morningClose: "12:00"},
 {afternoonOpen: "18:30"},
 {afternoonClose: "18:30"}
];

我想把这些列在我的日子里

schedules1 : [
 {isOpen: true},
 {morningOpen: "08:30"},
 {morningClose: "12:00"},
 {afternoonOpen: "18:30"},
 {afternoonClose: "18:30"},
 {days: ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"]
],

schedule2 : [
 {isOpen: true},
 {morningOpen: "08:30"},
 {morningClose: "12:00"},
 {afternoonOpen: "20:30"},
 {afternoonClose: "20:30"},
 {days: ["Sunday", "Saturday"]
];


谢谢

在洛达斯的帮助下,我使用了.isEqual.isEqual

见:

我还添加了schedules3以备不时之需

const schedules={
星期五:[
{isOpen:true},
{上午开放:“08:30”},
{上午关闭:“12:00”},
{下午:“18:30”},
{下午结束:“18:30”}
],
星期一:[
{isOpen:true},
{上午开放:“08:30”},
{上午关闭:“12:00”},
{下午:“18:30”},
{下午结束:“18:30”}
],
星期六:[
{isOpen:true},
{上午开放:“08:30”},
{上午关闭:“12:00”},
{下午:“20:30”},
{下午结束:“20:30”}
],
星期日:[
{isOpen:true},
{上午开放:“08:30”},
{上午关闭:“12:00”},
{下午:“20:30”},
{下午结束:“20:30”}
],
星期四:[
{isOpen:true},
{上午开放:“08:30”},
{上午关闭:“12:00”},
{下午:“18:30”},
{下午结束:“18:30”}
],
星期二:[
{isOpen:true},
{上午开放:“08:30”},
{上午关闭:“12:00”},
{下午:“18:30”},
{下午结束:“18:30”}
],
星期三:[
{isOpen:true},
{上午开放:“08:30”},
{上午关闭:“12:00”},
{下午:“18:30”},
{下午结束:“18:30”}
]
};
var schedules1=时间表。星期五;
var schedules2={};
var schedules3={};
var计划1_天=[];
var计划2_天=[];
var计划3_天=[];
for(对象项(明细表)的常量[key,currentObj]{
如果(uu.isEqual(currentObj,附表1)){
日程安排1天。按(键);
}否则如果(uu.isEqual(currentObj,附表2)){
日程安排2天。按(键);
}否则如果(uu.isEqual(currentObj,schedules3)){
日程安排3天。按(键);
}否则{
如果(uu.isEmpty(附表2)){
schedules2=currentObj;
日程安排2天。按(键);
}否则,如果(uu.isEmpty(附表3)){
schedules3=currentObj;
日程安排3天。按(键);
}
}
}
schedules1={…schedules1,天:schedules1_天};
schedules2={…schedules2,天:schedules2_天};
如果(!.i空(附表3)){
schedules3={…schedules3,天:schedules3_天};
}
控制台日志(时间表1);
console.log(schedules2);
console.log(schedules3)
const schedules={
星期五:{
是的,
上午开放:“08:30”,
上午结束:“12:00”,
下午:“18:30”,
下午结束:“18:30”
},
星期一:{
是的,
上午开放:“08:30”,
上午结束:“12:00”,
下午:“18:30”,
下午结束:“18:30”
},
星期六:{
是的,
上午开放:“08:30”,
上午结束:“12:00”,
下午:“20:30”,
下午结束:“20:30”
},
星期日:{
是的,
上午开放:“08:30”,
上午结束:“12:00”,
下午:“20:30”,
下午结束:“20:30”
},
星期四:{
是的,
上午开放:“08:30”,
上午结束:“12:00”,
下午:“18:30”,
下午结束:“18:30”
},
星期二:{
是的,
上午开放:“08:30”,
上午结束:“12:00”,
下午:“18:30”,
下午结束:“18:30”
},
星期三:{
是的,
上午开放:“08:30”,
上午结束:“12:00”,
下午:“18:30”,
下午结束:“18:30”
},
}
常量组=[]
函数getOrCreateGroup(计划){
for(组的常量组){
如果(
group.isOpen==schedule.isOpen&&
group.morningOpen==schedule.morningOpen&&
group.morningClose===schedule.morningClose&&
group.Afternonopen==schedule.Afternoonpen&&
group.afternoonClose===schedule.afternoonClose
) {
返回组
}
}
常量新组={
日程
天数:[],
}
groups.push(新建组)
返回新组
}
用于(常量输入明细表){
施工进度表=进度表[关键]
const group=getOrCreateGroup(计划)
组.天.推送(键)
}

console.log(groups)
你用groupBy-lodash尝试了什么,但在@SomeoneSpecial上不起作用