У меня есть объект json, который будет содержать пары ключ-значение для клиентов, например, клиенты будут меняться в зависимости от дня, в зависимости от того, какие из них совершили определенную транзакцию в указанный день месяца. Поэтому мои данные будут содержать транзакции, совершаемые клиентами. Вот пример моего объекта данных в первый день месяцаПодсчет отдельных пар ключ/значение в динамическом объекте json
$scope.dailybreakdown = [
{'day': '1', 'client':'client1', 'received': '3', 'approved':'0'},
{'day': '1', 'client':'client2', 'received': '8', 'approved':'1'},
{'day': '1', 'client':'client3', 'received': '4', 'approved':'0'},
{'day': '1', 'client':'client4', 'received': '4', 'approved':'0'},
{'day': '2', 'client':'client1', 'received': '3', 'approved':'1'},
{'day': '2', 'client':'client4', 'received': '12', 'approved':'5'},
{'day': '3', 'client':'client1', 'received': '10', 'approved':'2'},
{'day': '3', 'client':'client3', 'received': '5', 'approved':'1'},
{'day': '3', 'client':'client8', 'received': '1', 'approved':'0'},
{'day': '3', 'client':'client9', 'received': '2', 'approved':'2'},
]
Данные для второго дня могут содержать больше или меньше клиентов, и они могут быть разными, так как клиенты, которые не сделали никаких сделок не будут присутствовать в объекте вообще. Очевидно, что этот объект содержит данные за каждый день месяца, а не только за первые три дня, как в примере, который я добавил выше.
Я использую эти данные, чтобы графически отображать их в таблице и на графиках карт на моем представлении. Это все хорошо и хорошо, но я ищу какую-то помощь - как сортировать эти данные и подсчитывать их.
Например, мой стол должен отображать общее количество транзакций за каждый день. Это означает, что мне нужно подсчитать все пары 1 день/значение дня и создать итоговые значения для каждого поля. (общее количество полученных, одобренных & пересчет процента)
Поскольку этот объект json может быть гигантским, в зависимости от количества клиентов, которые транслируются каждый день, должен ли я создать новый json-массив в моем контроллере для хранения этих ежедневных данных или есть способ, которым я могу фильтровать его и подсчитывать/пересчитывать каждый день по мере необходимости?
Моя строка таблицы выглядит следующим образом: (что также необходимо будет изменить для размещения фильтрации данных сделано в контроллере для клиента сумм)
<tr ng-repeat="daily in dailystats" ng-click="setSelected($index);" ng-class="{'selected':$index == selectedRow}">
<td>{{daily.day}}</td>
<td>{{daily.received}}</td>
<td>{{daily.approved}}</td>
<td>{{daily.percentage}}</td>
</tr>
Любая помощь будет высоко ценится, так как я не был работая долго с объектами данных json, и мне не удалось найти какие-либо ресурсы или примеры, которые помогут мне с этой задачей. Чтобы кто-то желал помочь, у вас есть моя благодарность заранее.
Когда вы говорите «_this объект JSON может быть gigantic_ «Почему вообще делаете расчет клиентов? Это дает больше смысла делать это на сервере, а затем доставляет результат вычисления клиенту. – davidkonrad
Вы правы. Проблема в том, что я до сих пор не знаю, как будут выглядеть данные, я просто готовлюсь к худшему сценарию. Я согласен с тем, что вычисления могут выполняться на стороне сервера, но эта часть не в моем распоряжении, и мне было любопытно, как это сделать на моем контроллере в любом случае. – geostima