分组对象数组的最有效方法
在数组中对对象进行分组的最有效方法是什么?
例如,给定此对象数组:
[ { Phase: "Phase 1", Step: "Step 1", Task: "Task 1", Value: "5" }, { Phase: "Phase 1", Step: "Step 1", Task: "Task 2", Value: "10" }, { Phase: "Phase 1", Step: "Step 2", Task: "Task 1", Value: "15" }, { Phase: "Phase 1", Step: "Step 2", Task: "Task 2", Value: "20" }, { Phase: "Phase 2", Step: "Step 1", Task: "Task 1", Value: "25" }, { Phase: "Phase 2", Step: "Step 1", Task: "Task 2", Value: "30" }, { Phase: "Phase 2", Step: "Step 2", Task: "Task 1", Value: "35" }, { Phase: "Phase 2", Step: "Step 2", Task: "Task 2", Value: "40" }]
我在表格中显示这些信息。我想用不同的方法分组,但我想总结这些值。
我正在使用Underscore.js作为其groupby函数,这很有帮助,但并没有完成整个技巧,因为我不希望它们“拆分”但是“合并”,更像是SQL group by
方法。
我正在寻找的是能够总计特定值(如果要求)。
所以,如果我做了groupby Phase
,我想要收到:
[ { Phase: "Phase 1", Value: 50 }, { Phase: "Phase 2", Value: 130 }]
如果我做了分组Phase
/ Step
,我会收到:
[ { Phase: "Phase 1", Step: "Step 1", Value: 15 }, { Phase: "Phase 1", Step: "Step 2", Value: 35 }, { Phase: "Phase 2", Step: "Step 1", Value: 55 }, { Phase: "Phase 2", Step: "Step 2", Value: 75 }]
是否有一个有用的脚本,或者我应该坚持使用Underscore.js,然后循环结果对象自己做总计?
白板的微信
慕姐8265434
陪伴而非守候