首页 > 解决方案 > 当实际上有一个值AngularJS时,数组是未定义的

问题描述

下面是代码

UserRolesService.api.getUserRadaGroups({userLogin: $scope.selectedUserObj.login}, function(a) {
            _.each(a.radaGroups, function(c) {
                AuthorityRolesService.api.listForRadaGroup({radaGroup: c}, function(b) {
                    for(var i =0; i<b.length;i++){
                        console.log(b[i].roleName); //value will be like "Test","Advis..."
                        radaList.push(b[i].roleName);
                    }
                });
            });
        });

        console.log(radaList[0]);

当我控制台记录 radaList[0] 时,该值未定义。

但是,当我控制台记录 radaList 时,该值将如下所示

在此处输入图像描述

感谢您对我如何打印“测试”日志的任何帮助

我期待打印出“Test”,它在 radaList 中的值为 0。

提前致谢。

标签: angularjs

解决方案


正如您的回复中所示,您得到的是一个字符串数组而不是对象,因此它没有 roleName 属性。尝试修改您的代码如下:

UserRolesService.api.getUserRadaGroups({userLogin: $scope.selectedUserObj.login}, function(a) {
            _.each(a.radaGroups, function(c) {
                AuthorityRolesService.api.listForRadaGroup({radaGroup: c}, function(b) {
                    for(var i =0; i<b.length;i++){
                        ***console.log(b[i]); //value will be like "Test","Advis..."
                        radaList.push(b[i]);***
                    }
                });
            });
        });

        console.log(radaList[0]);


推荐阅读