Не удается извлечь значение из массива с помощью Angular.js

Мне нужна помощь.Я не могу получить некоторое значение согласно некоторому условию, используя angular.js.Я объясняю свой код ниже.

 var subcategories = [{
            id:1,
            name: 'SubCategory 1',
            value: 1
          }, {
            id:2,
            name: 'SubCategory 2',
            value: 2
          }, {
            id:3,
            name: 'SubCategory 3',
            value: 3
          }, {
            id:4,
            name: 'SubCategory 4',
            value: 4
          }];
    var result = $filter('filter')(subcategories, {id:1})[0];
    console.log('result',result);

Здесь мне нужно извлечь все данные чьи id=1из subcategoriesобъекта. Но в консоли я получаю результат undefined. Пожалуйста, помогите мне.

1 ответ

  1. Код работает. Вы импортировали директиву $filter в контроллер??

    https://jsfiddle.net/naLqezvs/

    function Controller($scope,$filter) {
      $scope.subcategories = [{
            id:1,
            name: 'SubCategory 1',
            value: 1
          }, {
            id:2,
            name: 'SubCategory 2',
            value: 2
          }, {
            id:3,
            name: 'SubCategory 3',
            value: 3
          }, {
            id:4,
            name: 'SubCategory 4',
            value: 4
          }];
      $scope.results = $filter('filter')($scope.subcategories, {id:1});
      $scope.result = $scope.results[0];
    }