0

我正在使用 react native 图表工具包,我希望能够在我的 react native 应用程序中显示支出图表。我正在使用 moment.js 和 moment-range

calendar.forEach((range) => {
    const label = range.start.format('DD MMM')
    loaded.labels.push(label);

    const filtered = spendingData
        .filter(item => range.contains(moment(item.timestamp)))
        .reduce((a,b) => (a.spent || 0) + (b.spent || 0), 0);
    
        loaded.data.push(filtered);
});

setGraph({...graph, labels: loaded.labels, data: loaded.data});

过滤器自身返回正确的项目,每次一个或多个对象落在范围内时,它应该传递给 reduce 函数以添加它们。

没有减少返回的对象(没有任何内容的日期意味着当天没有支出)这工作正常:


26 Dec
---------
02 Jan
---------
09 Jan
---------
16 Jan

Object {
  "spent": 3.8,
  "timestamp": 1642713860026,
}

Object {
  "spent": 12,
  "timestamp": 1642714020254,
}

---------
23 Jan
---------
30 Jan

Object {
  "spent": 2.4,
  "timestamp": 1643582338356,
}

Object {
  "spent": 5.5,
  "timestamp": 1643582748421,
}

减少item.spent值后返回的数据,这就是问题所在:

0

0

0

12

0

5.5
4

0 回答 0