如何比较对象属性大小?实现无大量if的每日数值对比
实现每日数值对比的时间表功能
完全可以实现,不用写大量if语句,通过遍历日期的方式就能批量处理每日的数值对比,代码示例如下:
let Time = { Person1: { Monday: 9, Tuesday: 7, Wednesday: 8, Thursday: 7, Friday: 7, }, Person2: { Monday: 8, Tuesday: 8, Wednesday: 7, Thursday: 7, Friday: 9, }, }; // 获取所有日期(从任意一个人的日程里提取即可,假设两人日期一致) const days = Object.keys(Time.Person1); // 遍历每个日期完成对比逻辑 days.forEach(day => { const person1Value = Time.Person1[day]; const person2Value = Time.Person2[day]; if (person1Value < person2Value) { console.log(`${day}: Person 2`); } else if (person1Value > person2Value) { console.log(`${day}: Person 1`); } else { console.log(`${day}: 两人数值相等`); } });
代码说明
- 用
Object.keys()提取所有日期,避免手动枚举每个日期,后续新增日期也无需修改遍历逻辑 - 通过
forEach循环批量处理每日对比,仅需一套判断逻辑就能覆盖所有日期 - 额外处理了两人数值相等的情况,你可以根据需求调整这部分输出
内容的提问来源于stack exchange,提问作者donv13
相关产品推荐
相关产品推荐

