我有一个对象,让我们说如下:
{
a: 'abc',
b: 'def',
c: {
x: 'xyz',
y: 'klm'
}
}
现在我想通过查询字符串以编程方式过滤它,例如(“bc”)用于某些对象的属性,但不是全部。例如,我只希望“bc”与“.a”和“.c.x”匹配。
我写了一个函数,它生成了一个表达式对象(参见https://docs.angularjs.org/api/ng/filter/filter),如下所示:
{
a: 'bc',
c: {
x: 'bc'
}
}
然后可以将此对象(我们称之为“表达式”)传递给$ filter,如下所示:
$filter('filter')(arrayToSearchIn, expression);
我的问题是,我不希望AND匹配,但是OR匹配,所以数组应该过滤掉“.a”或“.c.x”中包含“bc”的对象,但不一定都是。我怎样才能做到这一点?