小程序如何判断一个变量是否有值呢?
globalData:{
userInfo:{},
flag:null,
isCertify:0,
freedepositNum:0,
isAlert:0
},
userinfo之后会这样设置值
that.globalData.userInfo['id'] = data.ID;
that.globalData.userInfo['NickName'] = data.NickName;
that.globalData.userInfo['HeadUrl'] = data.HeadUrl;
that.globalData.isCertify = data.isCertify;
that.globalData.freedepositNum = data.freedepositNum;
that.globalData.flag = 2;
if(this.globalData.userInfo == {}){
wx.navigateTo({
url: '/pages/certify/certify',
})
}
我现在是这样判断的,应该是咋判断啊?
请指教
var
flag =
true
var
obj={a:1,b:2,c:
null
}
for
(i
in
obj){
console.log(obj[i])
if
(!obj[i]){flag =
false
}
}
flag
// 是true 就是都有值 反之就是有某一个/几个没值
恩恩,明白明白,多谢多谢!
使用这个方法试一下
isEmptyObject(obj) {
for (let i in obj)
return !1
return !0
}
if(isEmptyObject(this.globalData.userInfo)){
//空对象
}else{
//对象有值
}
好的,稍等,测试一下
报错了a
这是我那你的代码测试的
isEmptyObject 是个函数 你怎么调用的 截图发一下
isEmptyObject 和 isLogin 是平级的
https://www.baidu.com/s?wd=js+%E5%88%A4%E6%96%AD%E5%AF%B9%E8%B1%A1%E6%98%AF%E5%90%A6%E6%9C%89%E5%80%BC&tn=98012088_5_dg&ch=11
能不能不要踢皮球,,,,,
能不能自己查,,,,,
我自己恩能够查出来,就不在这问了
你说的很有道理
if (JSON.stringify(this.globalData.userInfo) == "{}")
另外,为啥不判断下 userInfo里的值呢,比如
if (this.globalData.userInfo.id)
哈哈,稍等,我测试一下
判断里面的值,,或许也可以
lodash.js 有许多常用方法,包括判断 key 是否存在(https://lodash.com/docs/4.17.10#has),或者 key 是否 value。
有各种方法判断业务逻辑,例如添加 flag 值,字符串比较等,都是能达到目的。
您这是关于js的网站,小程序里面的js跟真正的js还是有区别的吧
小程序里无法使用 lodash 的 full 版本,但可以使用 core 版本。 key 判断,value 判断,对象 clone 等等都是有的。要什么小功能,翻翻文档,很快就能处理好。
恩呢,好的好的,多谢多谢大神
this.globalData.userInfo.length== undefined
直接这样判断不就解决了
var c = {
a: 'a'
};
if (JSON.stringify(c) == "{}") {
console.log(7);
} else {
console.log(8);
}
var d = {};
if (JSON.stringify(d) == "{}") {
console.log(7);
}
这个JSON.stringify是js自带的函数吗,不太了解js
Object.keys(对象名).length
ok的,这样也行呢!!!!!
多谢多谢!!
大神,你写的好高深啊,小弟都看不懂呢,,,