我有一个JSON,如下所示
[
{
"vendor_id": "5000819028",
"vendor_name": "Test 01"
},
{
"vendor_id": "5000823900",
"vendor_name": "Test 03"
}
]
我有vendor_name,例如Test 03
如何获取相应的vendor_id。
我这样做了,工作正常
var json = [
{
"vendor_id": "5000819028",
"vendor_name": "Test 01"
},
{
"vendor_id": "5000823900",
"vendor_name": "Test 03"
}
];
var vendorname = 'Test 03';
var result = '';
for(var i=0;i<json.length;i++)
{
if(json[i].vendor_name===vendorname)
{
result = json[i].vendor_id ;
}
}
alert(result);
http://jsfiddle.net/10nh59f4/3/
但还有其他更好的方法吗?
答案 0 :(得分:1)
你可以稍稍整理一下:
var result = null;
var vendername = 'Test 03';
json.some(function(item) {
if ( item.vendor_name == vendername ) {
result = item;
return true;
}
});
或使用下划线/ lodash:
var result = _.find(json, function(item) {
return item.vender_name == vendername;
});
您也可以使用filter
,但在完成所有项目之前不会停止:
var results = json.filter(function(item) {
return item.vender_name == vendername;
});
// results is an Array, to get the first item use [0]:
var result = results[0];