如何根据它的值过滤“对象”

时间:2015-07-06 09:45:00

标签: angularjs angular-filters

在我的角度控制器中,我想过滤并指定一些具有true值的对象。我正在尝试使用angular.forEach进行迭代,但我得到的所有对象都是结果,而不是获得真正的对象。

这是我的代码:

$scope.splash.$promise.then(function (result) {

            $scope.allApps = result; //50 apps.
            // splashAppsHandler();

            $scope.splashApps = angular.forEach( $scope.allApps, function (app) {

                return app.projects.project.splash === true; //only 5 apps

            });

            console.log($scope.splashApps); //getting all 50 apps!?


        });

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您需要在数组或对象中存储真实对象。目前你没有在forEach里面做角度。

$scope.truthyObjects = [];
$scope.splash.$promise.then(function (result) {

        $scope.allApps = result; //50 apps.
        // splashAppsHandler();

        $scope.splashApps = angular.forEach( $scope.allApps, function (app) {

            if(app.projects.project.splash === true) {
                 $scope.truthyObjects.push(app); // save truthy object
            }

        });

        console.log($scope.splashApps); //getting all 50 apps!?


    });