我有一个清单
var jsonList = [
{
"id": "one",
"pId": "nosearch",
"cId": "searchc"
},
{
"id": "two",
"pId": "product1",
"cId": "searchc"
},
{
"id": "three",
"pId": "product2",
"tId": "searcht"
}
]
我想获取包含给定文本的所有项目的列表。
例如,如果我搜索“搜索”,它将返回所有项目;如果我搜索产品,则应返回第二和第三项目。
任何像search(jsonList,searchText)的功能都可以实现这一点?
最佳答案
这样尝试
var jsonList = [{
"id": "one",
"pId": "nosearch",
"cId": "searchc"
}, {
"id": "two",
"pId": "product1",
"cId": "searchc"
}, {
"id": "three",
"pId": "product2",
"tId": "searcht"
}]
function search(jsonList, searchText) {
return jsonList.filter(function(x) {
for (var i in x) {
if (x[i].toLowerCase().indexOf(searchText.toLowerCase()) > -1) return x;
}
})
}
console.log(search(jsonList, 'search'))
关于javascript - json列表过滤器包含给定的文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32250562/