Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to iterate through angular $scope variables with a loop

I want to iterate through $scope variables with a for loop like this. In this example the $scope object includes an object accounts inlcuding 5 objects, whose names are numbers from 1 to 5. Each of them has a name.

for(var i = 1; i < 5; i++){
   $('#name').val($scope.accounts.i.name);
}

The problem: $scope.accounts.i is undefined because i does not count as a varibale inside the $scope variable. It counts as the letter i, so I see no chance to iterate through a scope with a for loop. When I use " " around the $scope variable it will just be displayed as plain html and angular is not interpreted.

like image 772
Sorcerer Avatar asked Jun 26 '13 17:06

Sorcerer


2 Answers

Angular way to do above is

 $scope.accounts=[{name:"123"},{name:"124"},{name:"125"}]

            angular.forEach($scope.accounts,function(value,index){
                alert(value.name);
            })
like image 110
Ajay Beniwal Avatar answered Oct 24 '22 18:10

Ajay Beniwal


If accounts is an array, you can use the array indexer:

for(var i = 1; i < 5; i++){
   $('#name').val($scope.accounts[i].name);
}
like image 45
Ufuk Hacıoğulları Avatar answered Oct 24 '22 19:10

Ufuk Hacıoğulları