如何在json数组中实现搜索

时间:2016-07-19 09:30:55

标签: javascript angularjs json

我有一个像这样的json数组

[
  {"Id":1,
  "Name":"John"
  }, 
  {"Id":2,
  "Name":"Mathew"
  },
   {"Id":3,
  "Name":"Wilfred"
  },
   {"Id":4,
  "Name":"Gary"
  }
]

我需要使用此数据实现自动完成功能。 所以如果我搜索"Wil",我应该得到Wilfred作为结果。如何进行类似于JSON数组中的SQL LIKE的搜索

1 个答案:

答案 0 :(得分:3)

使用Array.prototype.filter

var persons = [{
  "Id": 1,
  "Name": "John"
}, {
  "Id": 2,
  "Name": "Mathew"
}, {
  "Id": 3,
  "Name": "Wilfred"
}, {
  "Id": 4,
  "Name": "Gary"
}]
var searchTerm = "Wil";
var results = persons.filter(function(person) {
  return person.Name.indexOf(searchTerm) > -1;
});
console.log(results);