У меня есть функция связана с завода для моего контроллера:AngularJS: Как создать новые массивы из ответа JSON?
fac.GetDailyCountersList = function() {
return $http.get('/Data/GetDailyCountersList')
}
Внутри контроллера, вот где функция называется:
$scope.DailyCounters = null;
DailyCounterService.GetDailyCountersList().then(function (d) {
$scope.DailyCounters = d.data;
}, function (error) {
alert('Error!');
});
Исходя из этого, если бы я был для вывода переменной на странице HTML, это покажет:
[{"Id":1,"MIDay":"16","MITime":"900","MICounter":0},
{"Id":2,"MIDay":"16","MITime":"915","MICounter":1},
{"Id":3,"MIDay":"16","MITime":"930","MICounter":0},
{"Id":4,"MIDay":"17","MITime":"945","MICounter":0},
{"Id":5,"MIDay":"17","MITime":"1000","MICounter":0},
{"Id":6,"MIDay":"17","MITime":"1015","MICounter":52},
{"Id":7,"MIDay":"18","MITime":"1030","MICounter":2},
{"Id":8,"MIDay":"18","MITime":"1045","MICounter":3},
{"Id":9,"MIDay":"18","MITime":"1100","MICounter":0}]
Мой вопрос заключается в том, чтобы взять эти данные и создать другие массивы на основе одного из свойств Json данные.
Например, как бы я поставил массивы
{"Id":1,"MIDay":"16","MITime":"900","MICounter":0},
{"Id":2,"MIDay":"16","MITime":"915","MICounter":1},
{"Id":3,"MIDay":"16","MITime":"930","MICounter":0}
В новый массив "ArrayDay16"? Остальное - в их соответствующие массивы.
Я думал о делать это таким образом:
var myArray = [];
if (d.data['MIDay'] == '16')
myArray.push(d.data);
Но это неверно/не удается. Любые идеи для эффективного решения?
Читайте на [методов Array из JavaScript, особенно 'push'] (HTTPS : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push). –