对象数组过滤angular2

时间:2017-05-30 13:21:34

标签: angular object angular-filters angular-pipe

我正在尝试过滤一系列对象。我做错了什么。

我的管道

 transform(value: any, args?: any): any {
    if (!args) return value;

    return value.filter(item => this.checkValues(item, args));
  }

  checkValues(item, args) {
    const value = Object.keys(item).map(k => item[k]);

    for (var i in value) {
      return value[i].toString().indexOf(args) > -1;
    }
  }

我的数据就像

data= [
{key:value},
{key1:value2}
]

我想搜索这些值。

发布此问题后,我想出了一个解决方案。

我目前的解决方案

transform(value: any, args?: any): any {
    if (!args) return value;

    return value.filter(item => this.checkValues(item, args));
  }

  checkValues(item, args) {

    const value = Object.keys(item).map(k => item[k]);

    return JSON.stringify(value).indexOf(args) > -1;

  }

这很好吗?或任何推荐的方法?

1 个答案:

答案 0 :(得分:1)

可以通过

实现
transform(value: any, args?: any): any {
    if (!args) return value;

    return value.filter(item => this.checkValues(item, args));
  }

  checkValues(item, args) {

    const value = Object.keys(item).map(k => item[k]);

    return String(value).indexOf(args) > -1;

  }