我从api中获取数据,并将其显示在一个包含2列的表中。第一列包含名称,第二列包含数量,如Table1所示。api中的数据包含重复的名称,同一名称的数量也不同。我想以这样的方式显示:它总结了唯一名称的数量,并且只显示唯一的名称和总量,如Table2所示。我正在使用ReactJS来显示表。得到这个结果的更好的逻辑是什么。我以json的形式从api中检索数据,并将其放入数组中。我很新的反应,发现很难玩的数据。

发布于 2017-05-25 17:00:14
核心问题实际上不是与反应相关的问题,因此,考虑到我不能影响API,我们可以解决javascript中的聚合。这样做的一个有用的库是“存档”-它知道如何做一个经典的"reduce“,并知道如何从一个对象生成一个数组。在节点控制台上解决这个问题,我们得到:
npm install lodash
node
>..。
const ld = require("lodash");
a = [{n: "joe", d: 1},{n: "joe", d: 1}, {n: "joe", d: 3} ]
b = ld.reduce(a, (agg, {n,d}) => { agg[n] = (agg[n] || 0) + d; return agg; }, {});
ld.map(b, (val,prop) => ({ n: prop, d: val});最后一行的返回值将给出
[ { n: 'joe', d: 5 } ]https://stackoverflow.com/questions/44185201
复制相似问题