angular iterate over json
angularjs, angularjs-scope
Solution
Nothing complicated, it’s just that your syntax is wrong.
The for loop needs to be written like this:
for(var i=0; i < user.User.Stats.length; i++)
I.e. without the superfluous `$`, without the superfluous `;`, and also there is no `data` inside `Stats`.
See http://jsfiddle.net/4kzzy/176/
Also note you could use `angular.forEach` instead.
Problem
So I have a json and I am trying to get all the stats for active users only. when I try to do in a for loop something like this ``` for(var i=0; i < user.User.Stats.data.length; $i++;){ return user.User.Stats[i].active === "1"; } ``` it doesn't work ...however works fine without for loop as long as I am getting only one record ``` return user.User.Stats[i].active === "1"; ``` here is my html ``` <div ng-controller="MyCtrl"> <div ng-repeat="user in _users | filter:isActive"> {{user.User.userid}} </div> </div> ``` here is my js ``` var myApp = angular.module('myApp', []); function MyCtrl($scope) { $scope.isActive = function(user) { // for(var i=0; i < user.User.Stats.data.length; $i++;){ return user.User.Stats[0].active === "1"; // } }; $scope._users = [ { "User": { "userid": "19571", "status": "7", "active": "1", "lastlogin": "1339759025307", "Stats": [ { "active": "1", "catid": "10918", "typeid": "71", "Credits": [ { "content": "917,65", "active": "1", "type": "C7"}, { "content": "125,65", "active": "1", "type": "B2"} ]}, { "active": "1", "catid": "10918", "typeid": "71", "Credits": [ { "content": "917,65", "active": "1", "type": "C7"}, { "content": "125,65", "active": "1", "type": "B2"} ]} ] }}]; } ``` here is a demo link http://jsfiddle.net/4kzzy/174/