我有一个像这样的JSON数组:
[{"Name":"Bob", "EmployeeID":1234, "StartDate":"12/01/2011"},
{"Name":"Jim", "EmployeeID":4432, "StartDate":"01/12/1997"},
{"Name":"Heather", "EmployeeID":6643, "StartDate":"07/09/2010"}]
Run Code Online (Sandbox Code Playgroud)
如何使用Javascript查找和检索Jim的记录,按EmployeeID(4432)搜索?
你可以使用filter:
var records = [{"Name":"Bob", "EmployeeID":1234, "StartDate":"12/01/2011"},
{"Name":"Jim", "EmployeeID":4432, "StartDate":"01/12/1997"},
{"Name":"Heather", "EmployeeID":6643, "StartDate":"07/09/2010"}];
var result = records.filter(function(r) { return r["EmployeeID"] == 4432 })[0]||'No record found';
Run Code Online (Sandbox Code Playgroud)
搜索功能可以实现如下:
function findByEmployeeId(records, employeeId) {
return records.filter(function(r) { return r["EmployeeID"] == employeeId })[0]||null;
}
Run Code Online (Sandbox Code Playgroud)
一般来说,如果您对数据有任何控制权,我建议您更改结构以使您的生活更轻松.如果使用以下结构,则可以使用以下命令直接访问记录records[employeeId]:
{ "1234" : {"Name":"Bob", "EmployeeID":1234, "StartDate":"12/01/2011"},
"4432" : {"Name":"Jim", "EmployeeID":4432, "StartDate":"01/12/1997"},
"6643" : {"Name":"Heather", "EmployeeID":6643, "StartDate":"07/09/2010"} }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1275 次 |
| 最近记录: |