Javascript 没有初始值的空数组的缩减

Javascript 没有初始值的空数组的缩减,javascript,reactjs,fullcalendar,Javascript,Reactjs,Fullcalendar,我正在与fullcalendar react合作,我有以下时间表,其中我尝试获取列表中最早的一小时,并删除已关闭的日期: export default { monday: { startTime: '10:00', endTime: '23:00' }, tuesday: { startTime: '08:00', endTime: '00:00' }, wednesday: {

我正在与fullcalendar react合作,我有以下时间表,其中我尝试获取列表中最早的一小时,并删除已关闭的日期:

export default {
    monday: {
        startTime: '10:00',
        endTime: '23:00'
    },
    tuesday: {
        startTime: '08:00',
        endTime: '00:00'
    },
    wednesday: {
        startTime: '09:00',
        endTime: '22:00'
    },
    thursday: {
        startTime: '14:00',
        endTime: '00:00'
    },
    friday: undefined,
    saturday: {
        startTime: '13:00',
        endTime: '21:00'
    },
    sunday: undefined
}
为了过滤关闭日并获得最早的时间,我正在使用filter and reduce,如下所示:

getOpeningHour() {
    let value: any = "00:00:00";

    if (this.props.schedule) {
        const schedule = this.props.schedule; // the schedule I presented above

        if (Object.keys(schedule).length >= 1) {
            const minValue = Object.keys(schedule)
                .filter((key) => schedule[key])
                .map((key: string) => moment(schedule[key].startTime, 'HH:mm'))
                .reduce((min: moment.Moment, value: moment.Moment) => (!min || value.isBefore(min) ? value : min), moment('00:00', 'HH:mm')); 
                // Gets the earliest hour when the list is not empty, but when I give midnight as default value, it's always midnight.

            value = minValue.format('HH:mm:ss');
        }
    }
    return value;
}
打开日历时,出现以下错误:

未捕获类型错误:减少没有初始值的空数组

当列表为空时,我试图提供
,moment('00:00','HH:mm')
作为默认值,但是像这样,我的日历总是在午夜开始,我认为会忽略其余的

-----编辑-----

代码实际上正在执行它的工作,因为午夜早于08:00,它将显示午夜。只有当列表为空时才显示午夜

在使用矩()小时工作时,如何解决此问题? 谢谢大家!

试试
时刻('24:00','HH:mm')

const hourTemplate='HH:mm';
const getEarliersHour=计划=>
对象值(明细表)
.filter(value=>value)//没有未定义的
.map(time=>time(time.startTime,hourTemplate))
.减少(
(最小值,当前值)=>(当前值早于(最小值)?当前值:最小值),
时刻('24:00',hourTemplate)//最近时刻
)
.格式(hourTemplate);
getEarliersHour(时间表);//08:00
getEarliersHour({});//00:00
演示: