Angular JS - 使用另一个对象的数据填充对象数组

时间:2016-06-14 19:52:06

标签: arrays angularjs object

我正在开发一个项目,允许用户根据城市,工作级别和工作类别等标准过滤作业。当用户点击过滤器时,搜索结果将被过滤,但过滤器本身也会被过滤。

为此,我计划从过滤的作业对象中获取过滤器城市,级别和类别的列表。 我的问题是,在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",
    },
]

1 个答案:

答案 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过滤器而不是创建数组来限制我的城市,类别和级别。我希望这有助于某人。