You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从日期对象中获取指定日期的时间数组数据?

动态访问对象中指定日期的时间数组

你遇到的问题是动态属性访问的语法错误——用点语法(timeGroup.formattedDate)会把formattedDate当成字面量属性名,而不是你定义的变量。要访问变量对应的属性,必须用方括号语法。

修正后的代码

直接把点语法替换成方括号,同时可以加个判断确保目标日期存在,避免报错:

useEffect(() => {
    if(date === '') return;

    const [year, month, day] = date.split('-');
    const formattedDate = [day, month, year].join('/');
    console.log(formattedDate);

    const timeGroup = getTimeDet();
    // 用方括号访问动态属性
    const targetTimeArray = timeGroup[formattedDate];
    
    if (targetTimeArray) {
        console.log('选中日期的时间数据:', targetTimeArray);
        // 这里可以把targetTimeArray存到状态里或者做其他业务处理
    } else {
        console.log('该日期没有对应的时间数据');
    }

},[date])

关键注意点

  • 必须保证getTimeDet()返回的timeGroup对象的键,和你生成的formattedDate格式完全一致(比如都是DD/MM/YYYY,无多余空格或格式差异)
  • 如果timeGroup是异步获取的,要确保执行这段代码时它已经被正确赋值,避免undefined报错

内容的提问来源于stack exchange,提问作者roverrr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 00:35:32