微信小程序如何判断对象是否为空、判断值是否存在

[ 2022-11-18 14:11:06 | 作者: admin ]
字号: | |

ES6 新增的方法 Object.keys():

if (Object.keys(object).length === 0) {
 return false
 }
 return true



1.判断已经定义的对象是否为空

js文件中需要对data里一些的对象进行判断是否为空
比如这里我要在页面加载时判断data中的record是否为空:

Page({
  data: {
   record:{} //判断record对象是否为空
  },})


onload()方法中使用Object.key().length>0来判断:

onLoad: function () { 
    let records = wx.getStorageSync('record'); //在内存中读取到记录
    
    this.setData({  //存储读取信息
      record : records    })
    
    if(Object.keys(this.data.record).length >0){   //判断是否有记录
    	console.log("record有记录");
    }else{
     	console.log("record没有记录");
     }
  },


原因分析:

Object.keys()方法:将给定对象的所有可枚举属性变成一个字符串数组

解释:将需要判断的对象转换为一个字符串数组然后再去判断它的长度,这样就知道其是否为空了。


2.判断未定义的值是否存在

比如这里我要在页面加载时判断record中的name是否存在:

Page({
  data: {
   record:{} 
  },})


onload()方法中使用typeof()来判断其是否存在:

onLoad: function () { 
    let records = wx.getStorageSync('record'); //在内存中读取到记录
    
    this.setData({  //存储读取信息
      record : records    })
    //判断是否有记录
    if(Object.keys(this.data.record).length >0){  
     //判断是否name为空
		if(typeof(this.data.record.name) !== 'undefined'){ 
	    	console.log(this.data.record.name);
	    }else{
	    	console.log("name为空");
	    }
    }else{
     	console.log("record没有记录");
     }
  },


原因分析:

typeof()方法:返回一个字符串,表示未经计算的操作数的类型。

全部返回类型:

在这里插入图片描述

解释:通过typeof()来判断返回的值是否为 underfined 即不存在,如果不是就可以证明这个值存在


文章来源:https://blog.csdn.net/Farel/article/details/124671019

[最后修改由 admin, 于 2022-11-18 14:15:47]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2884

这篇日志没有评论。

此日志不可发表评论。