检查一个值是否存在于 JSON 对象中
检查一个值是否存在于 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; }