迭代对象中的对象列表

时间:2016-04-05 09:35:24

标签: angularjs for-loop foreach

我正在尝试浏览包含另一个对象列表的对象列表。

在下面发布的图片中,您将看到对象的外观以及forEach的行为方式。

我的代码:

myApp.controller('Hello', [ '$scope', '$http', function($scope, $http) {
    $http.get('http://localhost:8080/projects').success(function(data) {
        $scope.projects = data;
        angular.forEach($scope.projects,function(allMsr){
            console.log(allMsr);
            angular.forEach(allMsr, function(key,val){
                console.log("Got into the 2nd for");
                if(key = "files")
                    console.log(val+" "+key);
            })
        })

    });
} 

输出: This is how to object looks like and the console after running

我要做的是使用key包含的每个对象中的valallMsr字段。

1 个答案:

答案 0 :(得分:0)

阅读the documentation:传递给angular.forEach()的函数的参数是valuekey,而不是keyvalue

这是迭代对象的键/值对时使用的语法。但是allMsr不是一个对象,它是一个数组。所以你想要的就是

angular.forEach(allMsr, function(obj) {
    console.log("Got into the 2nd for");
    if (obj.key === "files") {
        console.log(obj.val + " " + obj.key);
    }
});

请注意,=是赋值运算符,而不是比较运算符。