如何在搜索字符串的子部分时过滤JSON?

Luk*_*kmo 0 javascript search json filter

我想过滤客户端的JSON对象.在那之前我用服务器端做了一个:

SELECT * FROM table WHERE row1, row2, row3 LIKE %search%

我想用JSON对象对客户端做同样的事情.

例如,我可以有这个JSON对象:

[{'Key1' : 'Value1', 'Key2': 'Value2'}
{'Key3': 'Value3', 'Key4': 'Value4'}]
Run Code Online (Sandbox Code Playgroud)

当我使用过滤器'ue3'时,我希望它能够返回 [{'Key3': 'Value3', 'Key4': 'Value4'}]

the*_*tem 6

"我想在一个对象数组上进行所有字段搜索,只返回在其中一个字段中包含搜索字符串部分的对象."

var a = [{'Key1' : 'Value1', 'Key2': 'Value2'},
         {'Key3': 'Value3', 'Key4': 'Value4'}];

var b = filterValuePart(a, "ue3");
Run Code Online (Sandbox Code Playgroud)
function filterValuePart(arr, part) {
    return arr.filter(function(obj) {
        return Object.keys(obj)
                     .some(function(k) { 
                               return obj[k].indexOf(part) !== -1; 
                           });
    });
});
Run Code Online (Sandbox Code Playgroud)

垫片,垫片,垫片


使其不区分大小写:

function filterValuePart(arr, part) {
    part = part.toLowerCase();

    return arr.filter(function(obj) {
        return Object.keys(obj)
                     .some(function(k) { 
                               return obj[k].toLowerCase().indexOf(part) !== -1; 
                           });
    });
});
Run Code Online (Sandbox Code Playgroud)