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

如何编写JS函数实现日期数组y值累加,将前一日值结转至后续日期

问题原因

你写的代码触发死循环导致页面冻结:循环体内两次使用--i修改循环计数器,每次迭代i都会被回退,永远达不到循环终止条件i < array.length。同时代码逻辑存在变量引用错误(参数名为array但内部直接用了未定义的orders变量),累加逻辑也不符合需求。

最简实现方案

直接遍历数组维护累计值即可,时间复杂度O(n),仅需一次遍历即可完成计算:

const accumulateDateY = (dateArray) => {
  let sumY = 0
  return dateArray.map(item => {
    sumY += item.y
    return { ...item, y: sumY }
  })
}

使用方法:直接传入你的原始日期数组,返回的新数组就是符合要求的累计结转结果,不会修改原数组内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:27:06