[英]check any object's property is set to true
I am just trying to see, how to know that any property in globalSettings
is set to true: 我只是想看看,如何知道
globalSettings
中的任何属性都设置为true:
<div :class="checkIfAnyGsIsOverridden(globalSettings) ? 'text-success' : 'text-muted")>Lorem Ipsum</div>
globalSettings: {
setting1: true,
setting2: false,
setting3: false
}
checkIfAnyGsIsOverridden (obj) {
return obj.filter(item => {
// not sure what code should go here it check true or false
// that returns the length
}).length;
}
Got this error TypeError: obj.filter is not a function
and later I got to understand that .filter
works with array
. 收到此错误
TypeError: obj.filter is not a function
,后来我了解到.filter
可用于array
。
Also tried this but no luck because it always return false: 也尝试过此方法,但是没有运气,因为它总是返回false:
checkIfAnyGsIsOverridden (obj) {
console.log(Object.keys(obj).every(k => {
return obj[k] === true
}))
}
I know there is alway hard way but I like to do something simple and dynamic like above: 我知道总是有困难的方法,但是我喜欢像上面那样做一些简单而动态的事情:
if globalSetting.setting1 === true {
// do something
}
Also tried this but no luck because it always return false:
也尝试过此方法,但是没有运气,因为它总是返回false:
Since you are checking the opposite - if every
property is set to true
由于您正在检查相反的内容-如果
every
属性都设置为true
Use some
instead 用
some
代替
checkIfAnyGsIsOverridden (obj) {
console.log(Object.keys(obj).some(k => {
return obj[k] === true
}))
}
Above code will return true
, if any one property is set to true
. 上面的代码将返回
true
,如果任何一个属性设置为true
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.