У меня есть массив таких объектов, как этот
const timings = [{
monday: { from: "12:00", to: "13:00" },
tuesday: { from: "11:00", to: "13:00" },
thursday: { from: "11:00", to: "13:00" },
friday: { from: "11:00", to: "13:00" },
saturday: { from: "11:00", to: "13:00" },
},
{
monday: { from: "10:00", to: "17:00" },
tuesday: { from: "09:00", to: "10:00" },
thursday: { from: "05:00", to: "13:00" },
friday: { from: "02:00", to: "13:30" },
saturday: { from: "11:00", to: "13:00" },
},
{
monday: { from: "13:00", to: "14:20" },
tuesday: { from: "11:00", to: "13:00" },
thursday: { from: "11:00", to: "13:00" },
friday: { from: "11:00", to: "13:00" },
saturday: { from: "11:00", to: "13:00" },
},
{
monday: { from: "12:00", to: "13:00" },
tuesday: { from: "11:00", to: "13:40" },
thursday: { from: "11:00", to: "16:00" },
friday: { from: "11:00", to: "13:00" },
saturday: { from: "11:00", to: "13:00" },
sunday: {from: "00:00", to: "23:59"}
},
]
Я хочу, чтобы выходные данные содержали самое низкое и максимальное значения времени дня из массива
например, вывод:
{
monday: { from: "10:00", to: "17:00" },
tuesday: { from: "09:00", to: "13:40" },
thursday: { from: "05:00", to: "16:00" },
friday: { from: "02:00", to: "13:30" },
saturday: { from: "11:00", to: "13:00" },
sunday: {from: "00:00", to: "23:59"}
}
Я придумал действительно длинное решение, но оно действительно длинное и неэффективное.
мое решение
mondayFrom = timings.map(d => (d.monday && d.monday.from))
mondayTo = timings.map(d => (d.monday && d.monday.to))
tuesdayFrom = timings.map(d => (d.tuesday && d.tuesday.to))
// .... rest of the days
это сгенерирует массив, из которого я могу найти минимум и максимум, но я чувствую, что это плохая логика.
Если есть лучшееКстати, пожалуйста, дайте мне знать. Спасибо