【发布时间】:2021-07-04 16:29:55
【问题描述】:
我想计算以前的日期值到当前日期等等。这是我的脚本。
- 我已经为初始 prevDayStock 获取了前一天的股票价值,即
let prevStock = 21
let prevStock = 21;
let stocksArr= [
{ date: '2021-06-30',stock: 4 },
{ date: '2021-07-01',stock: 5 },
{ date: '2021-07-02',stock: 2 },
{ date: '2021-07-03',stock: 1 },
{ date: '2021-07-04', stock: 5 },
{ date: '2021-07-05',stock: 3 },
{ date: '2021-07-06', stock: 4 },
{ date: '2021-07-07',stock: 1 },
{ date: '2021-07-08', stock: 4 }
]
stocksArr.reduce((acc, cur, idx, arr) => {
const prod = idx === 0 ? 0 : arr[idx - 1].stock;
const value = acc + cur.stock + prod;
cur.stock = acc;
return value;
}, prevStock);
console.log(stocksArr)
预期结果:
[{ date: '2021-06-30',stock: 21 },
{ date: '2021-07-01',stock: 24 },
{ date: '2021-07-02',stock: 29 },
{ date: '2021-07-03',stock: 31 },
{ date: '2021-07-04', stock: 32 },
{ date: '2021-07-05',stock: 37 },
{ date: '2021-07-06', stock: 40 },
{ date: '2021-07-07',stock: 44 },
{ date: '2021-07-08', stock: 45 }]
什么是正确的解决方案。
let prevStock = 21;
let stocksArr= [
{ date: '2021-06-30',stock: 4 },
{ date: '2021-07-01',stock: 5 },
{ date: '2021-07-02',stock: 2 },
{ date: '2021-07-03',stock: 1 },
{ date: '2021-07-04', stock: 5 },
{ date: '2021-07-05',stock: 3 },
{ date: '2021-07-06', stock: 4 },
{ date: '2021-07-07',stock: 1 },
{ date: '2021-07-08', stock: 4 }
]
stocksArr.reduce((acc, cur, idx, arr) => {
const prod = idx === 0 ? 0 : arr[idx - 1].stock;
const value = acc + cur.stock + prod;
cur.stock = acc;
return value;
}, prevStock);
console.log(stocksArr)
【问题讨论】:
标签: javascript object ecmascript-6