我有下一个JSON:
var JSONObject = {"animals": [{name:"cat"}, {name:"dog"}]};
知道JSON对象中是否存在“ 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; }
var JSON = [{"name":"cat"}, {"name":"dog"}];
JSON变量引用具有一个称为“名称”的属性的对象数组。我不知道最好的方法,但这就是我的工作吗?
var hasMatch =false; for (var index = 0; index < JSON.length; ++index) { var animal = JSON[index]; if(animal.Name == "dog"){ hasMatch = true; break; } }