最简单的方法返回搜索的键/值对的布尔值(Javascript)

时间:2014-03-16 22:14:43

标签: javascript json

我有以下JSON字符串......

JSON:

[{"添加my_id":" 100002"" my_confirmation":" 682354682"},{"添加my_id&#34 ;:" 100005"" my_confirmation":" 281735345"},{"添加my_id":" 100009",& #34; my_confirmation":" 361567356"}]

...然后我将其解析为键/值对数组。

如果尝试匹配" my_id"通过Javascript返回布尔值的最简单方法是什么? for" 100005"?还有,解析成必要的数组吗?

1 个答案:

答案 0 :(得分:3)

如果您已经在解析JSON字符串,那么在ECMA5中您可以使用Array.prototype.some

的Javascript

var jsonString = '[{"my_id":"100002","my_confirmation":"682354682"},{"my_id":"100005","my_confirmation":"281735345"},{"my_id":"100009","my_confirmation":"361567356"}]';

var matches = JSON.parse(jsonString).some(function (obj) {
    return obj.my_id === '100005';
});

console.log(matches);

输出

true

jsFiddle

或者你可以像这样更加时髦

function myContains(jsonStr, key, value) {
    return JSON.parse(jsonStr).some(function (obj) {
        return obj[key] === value;
    });
}

var jsonString = '[{"my_id":"100002","my_confirmation":"682354682"},{"my_id":"100005","my_confirmation":"281735345"},{"my_id":"100009","my_confirmation":"361567356"}]';

console.log(myContains(jsonString, 'my_id', '100005'));
相关问题