Javascript 如何使用或条件筛选多个关键点

Javascript 如何使用或条件筛选多个关键点,javascript,angularjs,angularjs-ng-repeat,angularjs-filter,Javascript,Angularjs,Angularjs Ng Repeat,Angularjs Filter,根据文件, {name:“M”,phone:“1”}谓词将返回一个项目数组,其中属性名称包含“M”,属性电话包含“1” 我想在这些键之间实现或。例如,它应该返回属性名称包含“M”的行,以及电话属性包含“1”的行 有什么表达方式可以让我做到这一点吗?或者我必须为相同的实现一个自定义过滤器,您可以尝试 也可以尝试jquery $.grep(列表,函数(元素){return element.name.includes('M');})您可以尝试 也可以尝试jquery $.grep(list,fun

根据文件,

{name:“M”,phone:“1”}
谓词将返回一个项目数组,其中属性名称包含“M”,属性电话包含“1”

我想在这些键之间实现。例如,它应该返回属性名称包含“M”的行,以及电话属性包含“1”的行

有什么表达方式可以让我做到这一点吗?或者我必须为相同的

实现一个自定义过滤器,您可以尝试

也可以尝试jquery

$.grep(列表,函数(元素){return element.name.includes('M');})

您可以尝试

也可以尝试jquery


$.grep(list,function(element){return element.name.includes('M');})

不确定现在下结论是否为时过早,但创建自定义筛选器似乎是解决方案

给你

.filter('orFilter', function () {
    return function (list, filterOn) {
        var out = [];
        for (var i = 0; i < list.length; i += 1) {
            var item = list[i];
            for (var key in filterOn) {
                var val = filterOn[key];
                if (~item[key].indexOf(val)) {
                    out.push(item);
                    break;
                }
            }
        }
        return out;
    }
});
.filter('orFilter',函数(){
返回函数(列表、过滤器){
var out=[];
对于(变量i=0;i

我将等待是否有人发布更好的解决方案。

不确定现在下结论是否为时尚早,但看起来创建自定义筛选器是解决方案

给你

.filter('orFilter', function () {
    return function (list, filterOn) {
        var out = [];
        for (var i = 0; i < list.length; i += 1) {
            var item = list[i];
            for (var key in filterOn) {
                var val = filterOn[key];
                if (~item[key].indexOf(val)) {
                    out.push(item);
                    break;
                }
            }
        }
        return out;
    }
});
.filter('orFilter',函数(){
返回函数(列表、过滤器){
var out=[];
对于(变量i=0;i

如果有人发布更好的解决方案,我会等待。

我认为这是一个重复的问题。请检查我看到的这个链接,所以看起来自定义过滤器是唯一的选择。我希望这样的东西可以通过调整过滤器表达式来实现。我认为这是一个重复的问题。请检查我看到的这个链接,所以看起来自定义过滤器是唯一的选择。我希望这样的东西可以通过调整过滤器表达式来实现。