我正在尝试在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/

10-10 22:04