用grep在json里面搜索

时间:2015-04-08 18:36:59

标签: javascript jquery json

我正在尝试在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%'查询一样工作。

1 个答案:

答案 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;