Каков наиболее эффективный метод группирования по массиву объектов JavaScript?



каков наиболее эффективный способ группировки объектов в массиве?



например, учитывая этот массив объектов:



[ 
{ 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" }
]


Я показываю эту информацию в таблице. Я хотел бы сгруппировать различные методы, но я хочу суммировать значения.



Я использую подчеркивание.js для своей функции groupby, которая полезна, но не делает весь трюк, потому что я не хочу, чтобы они "разделились", но "слились", больше похоже на SQL group by метод.



что Я ищу будет иметь возможность суммировать конкретные значения (если требуется).



так что если бы я сделал groupby Phase, Я бы хотел получить:



[
{ Phase: "Phase 1", Value: 50 },
{ Phase: "Phase 2", Value: 130 }
]


и если бы я сделал groupy 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 }
]


есть полезный скрипт для этого, или я должен придерживаться с помощью подчеркивания.js, а затем перебирать полученный объект, чтобы сделать итоги самостоятельно?

710   0  

Comments

    Ничего не найдено.