最高效的对象数组分组方法
P粉310754094
P粉310754094 2023-08-21 14:34:06
0
2
463
<p>什么是在数组中分组对象的最有效方法?</p> <p>例如,给定以下对象数组:</p> <pre class="brush:php;toolbar:false;">[ { 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" } ]</pre> <p>我正在一个表格中显示这些信息。我想按不同的方法进行分组,但我想要对值进行求和。</p> <p>我正在使用Underscore.js的groupby函数,它很有帮助,但并不能完全满足需求,因为我不想把它们“分开”,而是“合并”,更像SQL的group by方法。</p> <p>我想要的是能够对特定的值进行求和(如果需要的话)。</p> <p>所以,如果我按<code>Phase</code>进行分组,我想要得到:</p> <pre class="brush:php;toolbar:false;">[ { Phase: "Phase 1", Value: 50 }, { Phase: "Phase 2", Value: 130 } ]</pre> <p>如果我按<code>Phase</code> / <code>Step</code>进行分组,我想要得到:</p> <pre class="brush:php;toolbar:false;">[ { 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 } ]</pre> <p>是否有一个有用的脚本可以实现这个功能,或者我应该继续使用Underscore.js,然后通过循环遍历结果对象来进行求和?</p>
P粉310754094
P粉310754094

全部回复(2)
P粉029327711

使用ES6的Map对象:

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!