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

Javascript新手如何从datepicker返回的newDates对象中提取指定日期值

问题原因

你调用getDay()报错的核心原因是newDates不是单个Date对象,而是包含多个Date对象的数组,你使用的是支持多选的日期选择组件,选中的日期会以数组格式返回,数组本身不具备getDay等日期方法。

解决方法

  1. 取单个指定日期(以第一个选中日期为例)
$(this).datepicker('setUTCDates', newDates);
// 按数组索引取出对应日期对象后,再调用日期相关方法
console.log(newDates[0].getDay());
// 注意:getDay()返回0-6对应周日到周六,若要获取当月的日期数值,改用getDate()
console.log(newDates[0].getDate());
  1. 遍历所有选中日期做批量处理
newDates.forEach(selectedDate => {
  // 对每个选中的日期对象做自定义处理
  console.log(selectedDate.toISOString().split('T')[0]); // 输出YYYY-MM-DD格式的日期
})

额外说明

你之前将newDates转为Map的操作属于多余操作:数组调用Object.entries返回的就是[[0, 第一个日期], [1, 第二个日期]...]的结构,和直接按数组索引取值的效果完全一致,不需要额外转换。

推荐学习的基础知识

你可以优先补充以下JS相关内容:

  • JS数组的常用操作:索引访问、遍历方法、类型判断
  • JS内置Date对象的常用API、类型判断方法
  • 浏览器控制台调试技巧:展开打印的变量查看结构,可清晰识别变量的类型、层级与属性,快速判断是数组还是单个对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:54:09