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

如何根据日期对应的星期将listOrder值追加到dataTemp数组的日期字段

你可以利用JavaScript内置Date对象的getDay()方法实现需求,该方法会返回0(周日)到6(周六)的整数值,刚好和你定义的listOrder数组索引一一对应。

实现代码

方案1:生成新数组(不修改原dataTemp)

如果你需要保留原dataTemp数组的数据,推荐用map方法生成新数组:

let listOrder = ['日', '月', '火', '水', '木', '金', '土'];
let dataTemp = [
  { calendar_date: '2021/11/7' },
  { calendar_date: '2021/11/8' },
  { calendar_date: '2021/11/9' },
  { calendar_date: '2021/11/10' },
  { calendar_date: '2021/11/11' },
  { calendar_date: '2021/11/12' },
  { calendar_date: '2021/11/13' },
  { calendar_date: '2021/11/14' },
  { calendar_date: '2021/11/15' },
  { calendar_date: '2021/11/16' },
  { calendar_date: '2021/11/17' },
  { calendar_date: '2021/11/18' },
  { calendar_date: '2021/11/19' },
  { calendar_date: '2021/11/20' }
];

const data = dataTemp.map(item => {
  const weekIdx = new Date(item.calendar_date).getDay();
  return {
    calendar_date: `${item.calendar_date} ${listOrder[weekIdx]}`
  };
});

执行后得到的data就是你需要的目标数组格式。

方案2:直接修改原dataTemp数组

如果你不需要保留原数组数据,可以直接遍历修改:

dataTemp.forEach(item => {
  const weekIdx = new Date(item.calendar_date).getDay();
  item.calendar_date = `${item.calendar_date} ${listOrder[weekIdx]}`;
});

注意事项

你当前使用的YYYY/MM/DD日期格式是所有浏览器都兼容的Date解析格式,无需担心兼容性问题。如果后续换用YYYY-MM-DD格式,需要注意部分旧版Safari浏览器的解析异常问题。

内容的提问来源于stack exchange,提问作者Phương Nam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 12:36:04