我正在开发一个项目,允许用户根据城市,工作级别和工作类别等标准过滤作业。当用户点击过滤器时,搜索结果将被过滤,但过滤器本身也会被过滤。
为此,我计划从过滤的作业对象中获取过滤器城市,级别和类别的列表。 我的问题是,在Angular中,如何使用第4个对象数组中的数据创建3个对象数组?
我的作业数组($ scope.programs)具有以下格式:
[
{
title: "HR Analyst",
city: "Jacksonville",
state: "Florida",
country: "United States",
region: "North America",
level: "Full Time Analyst",
category: " Human Resources"
}
]
然后我计划创建3个对象数组,用于存储过滤器的名称及其可用性。所以$ scope.cities可能如下所示:
[
{
name: "London",
available: "true",
},
{
name: "Sydney",
available: "false",
},
]
答案 0 :(得分:1)
我设法用以下代码填充我的数组:
$scope.getFilters = function(){
angular.forEach($scope.programs, function(program) {
$scope.filterCities.push({
name: program.city,
available: true
});
$scope.filterCategories.push({
name: program.category,
available: true
});
$scope.filterLevels.push({
name: program.level,
available: true
});
});
console.log($scope.filterCities);
console.log($scope.filterCategories);
console.log($scope.filterLevels);
};
虽然在与Dan Forbes交谈后,我相信我应该使用自定义Angular过滤器而不是创建数组来限制我的城市,类别和级别。我希望这有助于某人。