Javascript 在JSON数组中搜索字符串并检索将其作为值包含的对象
我的JSON在下面。它包含两个对象,每个对象都有几个键值对。如何搜索整个JSON数组并将包含特定字符串的对象作为值提取 在这种情况下,我需要拉取优惠券代码为:COUPON1的对象,这样我就可以拉取优惠券的ID 简而言之,我只需要获得优惠券的id,优惠券代码为:COUPON1Javascript 在JSON数组中搜索字符串并检索将其作为值包含的对象,javascript,jquery,json,Javascript,Jquery,Json,我的JSON在下面。它包含两个对象,每个对象都有几个键值对。如何搜索整个JSON数组并将包含特定字符串的对象作为值提取 在这种情况下,我需要拉取优惠券代码为:COUPON1的对象,这样我就可以拉取优惠券的ID 简而言之,我只需要获得优惠券的id,优惠券代码为:COUPON1 [Object, Object] 0: Object coupon_code: "COUPON1" created_at: "2013-06-04T13:50:20Z" deal_program_id: 1
[Object, Object]
0: Object
coupon_code: "COUPON1"
created_at: "2013-06-04T13:50:20Z"
deal_program_id: 1
id: 7
updated_at: "2013-06-04T13:50:20Z"
__proto__: Object
1: Object
coupon_code: "COUPON3"
created_at: "2013-06-04T15:47:14Z"
deal_program_id: 1
id: 8
updated_at: "2013-06-04T15:47:14Z"
谢谢:)您只需在阵列中循环并查看。有 例如: 这将循环通过
数组
,并检查优惠券代码
中的指定值。如果它发现了什么,它将在result
中返回它
请注意,这是自JavaScript 1.6以来可用的。您可能想看看它。编写一个通用查找函数:
function find (arr, key, val) { // Find array element which has a key value of val
for (var ai, i = arr.length; i--;)
if ((ai = arr[i]) && ai[key] == val)
return ai;
return null;
}
电话如下:
find (arr, 'coupon_code', 'COUPON1')
我认为for循环就可以了:当您搜索它时,它已经不再是JSON了。它只是一个数组。
var result = null;
Objects.forEach(function(obj, i){
if(obj.cupon_code == 'COUPON1'){
return result = obj;
}
});
console.log(result);
function find (arr, key, val) { // Find array element which has a key value of val
for (var ai, i = arr.length; i--;)
if ((ai = arr[i]) && ai[key] == val)
return ai;
return null;
}
find (arr, 'coupon_code', 'COUPON1')