2016-06-14 3 views
0

저는 도시, 직업 수준 및 직종과 같은 기준에 따라 작업을 필터링 할 수있는 프로젝트를 진행하고 있습니다. 사용자가 필터를 클릭하면 검색 결과가 필터링되지만 필터 자체도 필터링됩니다.Angular JS - 객체 배열에 다른 객체의 데이터 채우기

이렇게하려면 필터링 된 작업 개체에서 필터 도시, 수준 및 범주 목록을 가져 오려고합니다. 제 질문은 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

하나의 개체 배열을 입력으로 사용하고 3 개의 새 배열을 출력으로 반환하는 함수를 작성하도록 다른 사용자에게 요청 하시겠습니까? "네 번째 객체 배열의 데이터를 사용하여 객체 배열을 3 개 만들 수 있는지 여부"에 대한 질문이 나와 있습니다. 왜 이것이 가능하지 않다고 생각하니? 원하는 효과를 얻기 위해 지금까지 시도한 것은 무엇입니까? 왜 작동하지 않았습니까? –

+0

계산을 수행하는 프론트 엔드가 가장 좋습니까? –

+0

안녕하세요 댄, 가능하다고 생각합니다. 나는 그것에 대해 어떻게 가야할지 모르겠다. 그러므로 나는 도움을 청한다! 나는 forEach 루프를 사용하여 scope.programs의 항목을 반복해야하지만 다른 객체 배열을 만들고 program.city를 프로그램 배열 (예를 들어)에서 city.name으로 할당하는 방법을 모르겠다. cities 배열. –

답변

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); 

}; 

맞춤형 앵귤러 필터는 배열을 생성하는 것이 아닙니다. 나는 이것이 누군가를 돕기를 바랍니다.

관련 문제