angular - 比较两个物体的角度
问题描述
我有一个像这样的对象
workingHours = [{
endTime: 11:30,
fixed: true,
period: 'AM',
startTime: 10:30,
weekday: 'MONDAY'
},
{
endTime: 10:30,
fixed: true,
period: 'AM',
startTime: 08:20,
weekday: 'FRIDAY'
}
}];
另一个看起来像这样的对象
workingHoursWeek = [{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'MONDAY',
checked: false
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'TUESDAY',
checked: false
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'WEDNESDAY',
checked: false
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'THURSDAY',
checked: false
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'FRIDAY',
checked: false
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'SATURDAY',
checked: false
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'SUNDAY',
checked: false
}];
我需要的是比较这两个对象并更新workingHoursWeek以获取workingHours的所有值
最后workingHoursWeek应该是这样的
workingHoursWeek = [{
endTime: 11:30,
fixed: true,
period: 'AM',
startTime: 10:30,
weekday: 'MONDAY',
checked: true
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'TUESDAY',
checked: false
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'WEDNESDAY',
checked: false
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'THURSDAY',
checked: false
},
{
endTime: 10:30,
fixed: true,
period: 'AM',
startTime: 08:20,
weekday: 'FRIDAY',
checked: true
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'SATURDAY',
checked: false
},
{
endTime: null,
fixed: false;
period: 'AM';
startTime: null;
weekday: 'SUNDAY',
checked: false
}];
有没有简单的方法将对象属性重新映射到新对象?谢谢
解决方案
非常简单,使用 forEach() 循环:
this.workingHoursWeek.forEach(day => {
this.workingHours.forEach(newDay => {
if (day.weekday === newDay.weekday) {
day.endTime = newDay.endTime;
// etc, update other times and check value to true
}
});
});
推荐阅读
- c# - 无法将图像添加到 HeroCard 中的按钮
- vb.net - isrepeat “不是 KeyEventArgs 的成员”
- javascript - 控制台日志来自 MobX 存储的实际变量,而不是代理对象
- python - 在底图上绘制动画
- sql - 有人可以帮我加入吗
- environment-variables - 当我的终端从 XXX@bogon 更改为 XXX@localhost 时,我的环境变量消失了
- postgresql - 在现有数据目录上启动一个新的 PostgreSQL 实例
- javascript - 如何使用 jquery ajax 发送带有 formData 的变量
- sql - pl sql-读取数学公式并替换为数字
- java - 使用 PrintedPdfDocument 渲染带有表情符号的 PDF