【问题标题】:Angular $filter select property onlyAngular $filter 仅选择属性
【发布时间】:2016-06-02 12:02:16
【问题描述】:

是否有一种内置方法可以使用 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]

任何帮助或相关主题的链接将不胜感激,谢谢

【问题讨论】:

  • 显示代码而不是/* my magical parameter */,以清楚地了解您的问题和您的努力。
  • 'filter' 过滤器将始终返回完整匹配的对象。您需要创建一个自定义过滤器。或者只是使用原版 javascript,如 Tushar 建议的 map
  • 我现在没有 'filter' 只能返回完整匹配的对象...我想我会坚持使用 Vanilla JS,看起来像一个很棒的库 ;-)
  • 我猜这是类似的问题:stackoverflow.com/questions/15411620/…

标签: javascript angularjs angular-filters


【解决方案1】:

你不需要使用angularjs的$filter服务,你可以使用.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]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 2021-12-17
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多