检查一个值是否存在于 JSON 对象中

32 浏览
0 Comments

检查一个值是否存在于 JSON 对象中

我有以下的JSON:

var JSONObject = {"animals": [{name:"cat"}, {name:"dog"}]};

最好的方法是如何确定JSON对象中是否存在"value"为"dog"的值?

谢谢。

解决方案1

var JSONObject = {"animals": [{name:"cat"}, {name:"dog"}]};
...
for (i=0; i < JSONObject.animals.length; i++) {
    if (JSONObject.animals[i].name == "dog")
        return true;
}
return false;

解决方案2 (JQuery)

var JSONObject = {"animals": [{name:"cat"}, {name:"dog"}]};
...
$.map(JSONObject.animals, function(elem, index) {
 if (elem.name == "dog") 
     return true;
});
return false;

解决方案3 (使用some()方法)

function _isContains(json, value) {
    let contains = false;
    Object.keys(json).some(key => {
        contains = typeof json[key] === 'object' ? 
        _isContains(json[key], value) : json[key] === value;
        return contains;
    });
    return contains;
}

0