通过AngularJS中包含子字符串的属性过滤对象数组

时间:2015-08-26 11:33:11

标签: javascript angularjs ionic

假设我有一个类似的数组:

array = [{
    title: "foo1",
    content: "bar1"
},{
    title: "foo2",
    content: "bar2"
},{
    title: "foo3",
    content: "bar3"
}];

现在我想过滤这个数组,使其标题包含的对象成为像'3'这样的字符。 所以现在我的过滤数组应该是

filteredArray = [{
    title:"foo3",
    content: "bar3"
}];

我试过

    filteredArray = $filter('filter')(array, {
        title: "foo3"
    });

但问题是标题需要完全是“foo3”。如果我把“3”它不会过滤,因为它不会检查它是否包含它,它会查找完全匹配。

任何想法如何实现这一目标?

2 个答案:

答案 0 :(得分:5)

过滤器过滤器(是的,我知道)包含过滤...

我将您的代码(工作)粘贴到PLNKR并在3上过滤,然后取回标题:' foo3'元件

array = [{
  title: "foo1",
  content: "bar1"
},{
  title: "foo2",
  content: "bar2"
},{
  title: "foo3",
  content: "bar3"
}];

$scope.filteredData = $filter('filter')(array, {
  title: "3",
});

答案 1 :(得分:1)

您需要编写自己的过滤器。请查看此answer,了解如何实现您的目标。