【发布时间】:2018-11-27 12:14:00
【问题描述】:
我正在使用 reactJS 并且有一个来自响应的动态对象数组,如下所示:
[{ year: 2016, origin: "EN", type: "new" }, { year: 2016, origin: "EN", type: "old" }, { year: 2016, origin: "EN", type: "used" }, { year: 2016, origin: "EN", type: "new" }, { year: 2016, origin: "EN", type: "broken" }, { year: 2016, origin: "EN", type: "used" } ]
动态数组最多可以有多种不同的类型,但我的仪表板中只有 3 种颜色可供使用(好的、警告、关键)。颜色用多次也没问题!
我想为我的仪表板创建一个新数组,以对我的响应进行分组和计数,并将其与颜色合并以获得以下结果:
[{ name: "new", value: 2, color: 'ok' }, { name: "old", value: 1, color: 'warning' }, { name: "broken", value: 1, color: 'critical' }, { name: "used", value: 2, color: 'ok' }]
所以,首先我需要对它们进行分组,对组中的对象进行计数,选择一种颜色,然后创建一个新数组。
(注意:我不想使用额外的 JavaScript 库,例如 LINQ.js)
你能帮帮我吗?
【问题讨论】:
-
您要分组的属性是什么?第二个数组的名称在哪里匹配第一个数组的类型?
-
分配颜色的逻辑是什么?
-
@mhodges 我想对类型进行分组并重命名以便在我的仪表板中使用它。
-
@Eddie 颜色分配用于图表。图表需要参数名称、值和颜色。
标签: javascript mapreduce