我是 javascript 新手,我有以下对象:
Stats: {
"life": {
"progress": 18,
"counter": 1
},
"anxiety": {
"progress": 24.5,
"counter": 2
},
"mood": {
"progress": null,
"counter": 0
},
"cognition": {
"progress": null,
"counter": 0
}
}
我需要检查焦虑、情绪和认知的计数器是否 > 0,如果是,我必须返回 True。如何遍历此对象并检查对象的这些特定部分?
预期的输出将是
false
如果我要更新对象:
Stats: {
"life": {
"progress": 18,
"counter": 1
},
"anxiety": {
"progress": 24.5,
"counter": 2
},
"mood": {
"progress": null,
"counter": 1
},
"cognition": {
"progress": null,
"counter": 1
}
}
我想回来
True
谢谢你。
您可以将要检查的属性存储在数组中,用于Object.keys
过滤掉数组中未包含的属性,然后用于Array.every
检查每个对象的counter
属性是否大于0。
const keysToCheck = ["anxiety", "mood", "cognition"]
function validate(obj){
return Object.keys(obj).filter(key => keysToCheck.includes(key)).every(key => obj[key].counter > 0);
}
console.log(validate({
"life": {
"progress": 18,
"counter": 1
},
"anxiety": {
"progress": 24.5,
"counter": 2
},
"mood": {
"progress": null,
"counter": 0
},
"cognition": {
"progress": null,
"counter": 0
}
}))
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句