Как отфильтровать `объекты` по значению

0

В моем угловом контроллере я хотел бы фильтровать и назначать некоторый объект с 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!?


        });

Каков правильный способ сделать это?

Теги:
angular-filters

1 ответ

1

Вам нужно хранить правдивые объекты в массиве или объекте. В настоящее время вы не делаете внутри угловой для каждого.

$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!?


    });
  • 0
    Да, работает. мой вопрос в будущем $scope.truthyObjects объект изменен, будет `$ scope.allApps` будет обновляться? еще как обращаться?
  • 0
    Вам нужен $scope.allApps чтобы иметь только правдивые объекты?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню