如何编写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
相关产品推荐
相关产品推荐

