我正在尝试在json中执行搜索。如果您输入的字词与我的json上的字词完全相同,则它可以正常工作,否则不会返回任何内容。
例如:我的json有一个“节点”:公司,值:公司名称1
搜索“公司名称1”可以正常工作并返回1。其他任何变体,例如“公司名称1”,“公司名称1”,“公司”,均不返回任何内容!
有人有更好的方法吗?这是我正在使用的功能:
function findByName(compName){
return $.grep(someVar, function(n, i){
return n.company == compName;
});
}
ps:someVar是我的json,包含所有数据
我只是想使其像mysql'%LIKE%'查询一样工作。
最佳答案
只需要将两个值调整为相同的大小写即可。尝试:
function findByName(compName){
compName = compName.toLowerCase();
return $.grep(someVar, function(n, i){
return n.company.toLowerCase() == compName;
});
}
或更多
%LIKE%
使用:return n.company.toLowerCase().indexOf(compName) >-1;
关于javascript - 用grep在json中搜索,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29522743/