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

如何合并两个不同长度的数组并实现指定日期拼接规则

实现方案

你需要手动维护日期数组的遍历游标来处理特殊值的日期跳跃逻辑,直接使用_.zipWith无法实现该需求,因为该方法默认按相同索引一一配对数组元素,不支持自定义索引偏移。

代码实现

let daysArray = ['09-20', '09-21', '09-22', '09-23', '09-24', '09-25', '09-26']
let weekNameArray = ['Mi', 'Do', 'Fr', 'Sa + So', 'Mo', 'Di' ]

let dayCursor = 0
const weakDateArr = weekNameArray.map(weekItem => {
  // 特殊值不拼接日期,跳过2天的日期位
  if (weekItem === 'Sa + So') {
    dayCursor += 2
    return weekItem
  }
  // 普通项拼接当前游标对应的日期,游标后移1位
  const res = `${weekItem} ${daysArray[dayCursor]}`
  dayCursor += 1
  return res
})

输出结果完全符合你的预期:
['Mi 09-20', 'Do 09-21', 'Fr 09-22', 'Sa + So', 'Mo 09-25', 'Di 09-26']

逻辑说明

  • 用dayCursor变量记录当前取到日期数组的哪个位置
  • 遍历星期数组时,碰到Sa + So就直接返回该值,同时将游标加2,跳过对应的周末两天日期
  • 普通星期项取当前游标对应的日期拼接,游标加1即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 13:15:02