我有一个名为 user 的对象数组。所以当我执行 console.log(user[0]);
我得到如下输出: Object {activityId: "2", id: "1", ActivityDt: "01/15/2016"}
然后我决定将 user[0] 存储在一个单独的对象中。
var p = user[0];
现在我终于想获取对象的 ActivityId,所以我这样做了
console.log(p.activityId);
但是没有打印任何内容,并且出现错误。请提出建议。
我的代码
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);
});
错误
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)
最佳答案
使用forEach
后,您将获得$scope.userData
的各个元素。调用 users
就好像数组不起作用,并且 user[0]
将未定义,如您的错误所报告的
angular.forEach($scope.userData, function (user, index){
var p = user;
console.log(p.activityId);
关于javascript - 访问 javascript 对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35673732/