【发布时间】:2011-06-17 10:25:37
【问题描述】:
我有下一个 JSON:
var JSONObject = {"animals": [{name:"cat"}, {name:"dog"}]};
了解“dog”值是否存在于 JSON 对象中的最佳方法是什么?
谢谢。
解决方案 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;
}
【问题讨论】:
标签: javascript json