我正在尝试在json中执行搜索。如果你在我的json上输入完全相同的单词,那么它会起作用,它不会返回任何内容。
例如:我的json有一个“node”:公司,其值为:Company Name 1
搜索“公司名称1”工作正常并返回1.“公司名称1”,“公司名称1”,“公司”等任何其他变体均不返回任何内容!
任何人都有更好的方法吗?这是我正在使用的功能:
function findByName(compName){
return $.grep(someVar, function(n, i){
return n.company == compName;
});
}
Ps:someVar是我所有数据的json
我只是想让它像mysql'%LIKE%'查询一样工作。
答案 0 :(得分:1)
只需将两个值调整为相同的大小写。尝试:
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;