如果我们知道变量是什么类型,则更容易识别布尔值是/否,并且在javascript中,我们可以使用 Boolean 对象进行检查,布尔型大多数有效,但它不起作用” t反映为空的数组或对象,javascript中是否有任何函数可以检查布尔值是否包含变量,其中该变量可以包含数字,字符串,布尔值,数组或对象之类的任何值?现在我写了一个简单的函数共享作为答案,同时考虑了任何简单的解决方案。
谢谢
答案 0 :(得分:0)
//用于检查布尔值的函数-
function bool(myVar){
//check the variable type as js considers array as object
let varType = typeof myVar
//check if it is true object
if(varType != 'object') return Boolean(myVar)
if(Array.isArray(myVar)) return Boolean(myVar.length)
for(var key in myVar) {
if(myVar.hasOwnProperty(key))
return true
}
return false
}
答案 1 :(得分:0)
它应该工作大多数情况下
var data= [],{},string, bool;
!!(data && data.length>0 || data && Object.keys(data).length>0 || data===true)
更多简短答案。对象键也要注意数组和字符串。
!!(data && Object.keys(data).length>0 || data===true)