Каков наиболее эффективный метод группирования по массиву объектов 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, а затем перебирать полученный объект, чтобы сделать итоги самостоятельно?
Comments