Reputation: 1658
I have an array of objects called user. So when I do console.log(user[0]);
I get an output like : Object {activityId: "2", id: "1", activityDt: "01/15/2016"}
So then I decided to store the user[0] in a seprate object.
var p = user[0];
Now finally I want to get the activityId of the object so I do
console.log(p.activityId);
But nothing gets printed and I get an error. Please suggest.
My code
mainFactory.getUser()
.success(function(usersData) {
$scope.userData = usersData;
// Determine which events we will show (removce certain events)
var userActivity = [];
angular.forEach($scope.userData, function (user, index){
// console.log(user.length);
//for(var i = 0; i<user.length; i++){
// console.log(user[i]);
// }
// console.log(user[0]);
var p = user[0];
console.log(p.activityId);
// for (var key in p) {
// alert(p[key]);
// }
});
})
.error(function(err) {
console.log('Error: ' + err);
});
Error
TypeError: Cannot read property 'activityId' of undefined
at main.controller.js:54
at Object.forEach (angular.js:334)
at main.controller.js:44
at angular.js:9433
at processQueue (angular.js:13318)
at angular.js:13334
at Scope.$eval (angular.js:14570)
at Scope.$digest (angular.js:14386)
at Scope.$apply (angular.js:14675)
at done (angular.js:9725)
Upvotes: 2
Views: 89
Reputation: 21005
once you have used forEach
, you are getting individual elements of $scope.userData
. Calling users
as though an array will not work and user[0]
will be undefined, as reported by your error
angular.forEach($scope.userData, function (user, index){
var p = user;
console.log(p.activityId);
Upvotes: 2