首页 > 解决方案 > 当数组包含相同的值时求和

问题描述

我是 JS 的菜鸟,想解决这个问题:

我有两个具有相应数据的数组。一个数组包含一个日期,第二个数组包含一个与该特定日期对应的值:

dates = [2020-03-01,2020-03-01,2020-03-01,2020-03-02,2020-03-03]
cases= [0,1,5,6,2]

我想输出一个数组,其中包含每个日期一次以及该日期的案例总和。

此示例中的输出将是:
2020-03-01 - 6
2020-03-02 - 6
2020-03-03 - 2

谁能指出我将如何解决这个问题的正确方向?

谢谢!

标签: javascriptarrays

解决方案


这将以您要求的格式输出

dates = ['2020-03-01','2020-03-01','2020-03-01','2020-03-02','2020-03-03'];
cases= [0,1,5,6,2]
results = [...dates.reduce((a, d, i) => (a.set(d, (a.get(d) || 0) + cases[i]),a), new Map).entries()].map(v => v.join(' - ')).join('\n');
console.log(results);


推荐阅读