В моем угловом контроллере я хотел бы фильтровать и назначать некоторый объект с 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!?
});
Каков правильный способ сделать это?
Вам нужно хранить правдивые объекты в массиве или объекте. В настоящее время вы не делаете внутри угловой для каждого.
$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!?
});
$scope.truthyObjects
объект изменен, будет `$ scope.allApps` будет обновляться? еще как обращаться?$scope.allApps
чтобы иметь только правдивые объекты?