Angular $filter выбирает только свойство

Есть ли встроенный способ использования службы angular $filter для извлечения массива, содержащего только определенное свойство, из массива объектов?

var contacts = [
    {
      name: 'John',
      id: 42
    },
    {
      name: 'Mary',
      id: 43
    },
];

var ids = $filter('filter')(contacts, /* my magical parameter */);
console.log(ids); //output [42, 43]

Любая помощь или ссылка на связанную тему будут высоко оценены, спасибо


person Pierre Roudaut    schedule 02.06.2016    source источник
comment
contacts.map(o => o.id);   -  person Tushar    schedule 02.06.2016
comment
покажите код вместо /* my magical parameter */, чтобы четко понять ваш вопрос и ваши усилия.   -  person Bhojendra Rauniyar    schedule 02.06.2016
comment
Фильтр 'filter' всегда будет возвращать полный соответствующий объект. Вам нужно создать собственный фильтр. или просто используйте ванильный javascript, например map, как предлагает Тушар   -  person Rhumborl    schedule 02.06.2016
comment
Я не знал, что 'filter' может возвращать только полностью соответствующий объект... Я думаю, что буду придерживаться Vanilla JS, похоже, отличная библиотека ;-)   -  person Pierre Roudaut    schedule 02.06.2016
comment
Я предполагаю, что это аналогичный вопрос: stackoverflow.com/questions /15411620/   -  person Roman Koliada    schedule 02.06.2016
comment
@Tushar, ваше решение сработало, большое спасибо! Если вы хотите дать ответ с вашим предложением, я был бы рад принять его.   -  person Pierre Roudaut    schedule 02.06.2016
comment
@PierreRoudaut Вы можете увидеть аналогичный ответ ниже, не стесняйтесь принять его.   -  person Tushar    schedule 02.06.2016


Ответы (1)


Вам не нужно использовать службу $filter angularjs, вы можете использовать метод .map() (ядро JS, я имею в виду ES5):

var contacts = [
    {
      name: 'John',
      id: 42
    },
    {
      name: 'Mary',
      id: 43
    },
];

var ids = contacts.map(function(contact) {
   return contact.id;
});

console.log(ids); //output [42, 43]
person Coffee-Tea    schedule 02.06.2016