前端判断对象为空

这篇具有很好参考价值的文章主要介绍了前端判断对象为空。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.使用JSON.stringify()方法:

JSON.stringify() 是将一个JavaScript对象或值转换为JSON格式字符串,如果最终只得到一个{},就说明他是一个空对象
let obj1 = {};
console.log(JSON.stringify(obj1) === "{}");  //true 表示为空对象

let obj2 = { age:18 };
console.log(JSON.stringify(obj2) === "{}");  //false 表示不为空对象

二.for in 循环判断

使用for…in循环遍历对象属性,并使用obj.hasOwnProperty()检查属性是否属于对象本身,如果存在任何属性,则返回false,否则返回true。
//封装判断函数
function isEmptyObject(obj) {
    for (let key in obj) {
        if (obj.hasOwnProperty(key))
            return false;
    }
    return true;
}

const obj1 = {};
//调用
console.log(isEmptyObject(obj1)); // true 表示为空对象

const obj2 = {age: 18 };
//调用 
console.log(isEmptyObject(obj2)); // false  表示不为空对象

三.Object.getOwnPropertyNames()方法 

此方法是使用Object对象的getOwnPropertyNames()方法,获取到对象中的属性名,存到一个数组中,返回数组对象,我们可以通过判断数组的length来判断此对象是否为空

注意:此方法不兼容ie8文章来源地址https://www.toymoban.com/news/detail-828701.html

const obj1 = {};
console.log(Object.getOwnPropertyNames(obj1).length === 0); // true  //空对象

const obj2 = { age: '18' };
console.log(Object.getOwnPropertyNames(obj2).length === 0); // false //不为空对象

四.使用ES6的Object.keys()方法

主要是获取对象的键名,将对象的属性转换成数组,通过是否存在键名(数组的长度是否为0)而判断是否为空
let obj1 = {};
console.log(Object.keys(obj1).length == 0);//true  空对象

let obj2 = { age:18 };
console.log(Object.keys(obj2).length == 0);//false  不为空对象

到了这里,关于前端判断对象为空的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序判断对象是否存在或为空

    要取节点data.result.image的值,正常情况下有该节点如下图所示  但出错的情况下该节点不存在,直接取会出错 所以添加节点是否存在和是否为空的判断,存在且不为空时才显示  测试发现通过typeof判断节点是否存在时要一层层判断,如果data.result已经不存在,直接判断data.re

    2024年02月04日
    浏览(49)
  • Java中判断对象是否为空的方法详解

    在Java编程中,经常会遇到判断对象是否为空的情况。空指针异常是常见的程序错误之一,因此在编码过程中,判断对象是否为空是一个重要的防御措施。本篇博客将深入探讨Java中判断对象是否为空的不同方法,包括使用条件判断、使用Java 8的Optional类、使用Apache Commons Lang库

    2024年02月13日
    浏览(49)
  • 【Java-Util】Hutool工具类判断字符串、对象为空的使用

    判断字符串、包装类、集合、对象是否为空。 字符串工具-StrUtil (hutool.cn) str1为null,str2是字符串,str3为空字符串,str4是包含不可见字符(空格等)的字符串。 使用 StrUtil.isEmpty(str) 和 StrUtil.isBlank(str) 总结: isBlank与 isEmpty(CharSequence) 的区别是: isBlank方法会校验空白字符,且

    2024年02月02日
    浏览(100)
  • 前端基础面试题:如何判断对象是否具有某属性?遍历数组的方法有哪些?

    一、如何判断对象具有某属性? 如: let obj={name:\\\'zhangsan\\\',age:21} 有以下方法 ( property 为属性名的变量,实际上是key,键名): 1. property in obj 效果如图: in 运算符 2. Reflect.has(obj, property) 效果如图: 关于 Reflect: ① 它是JS的一个内置对象,无构造函数,可以用它遍历对象的key,如

    2023年04月08日
    浏览(37)
  • 怎么判断数组为空?

    情况一:数组的引用为null,若输出数组的长度,会报空指针异常 情况二:数组的长度为0,若输出数组的长度,会输出0 综上 : 判断数组为空需要判断两种情况 例如 数组名字为 nums 则判断数组为空需要以下语句 if(nums == null || nums.length == 0)

    2024年02月07日
    浏览(31)
  • 类型判断为空

    1 ★★★ 例1 : 判断集合是否为空: 2 CollectionUtils.isEmpty(null); //控制台打印:true 3 CollectionUtils.isEmpty(new ArrayList());//控制台打印:true 4 CollectionUtils.isEmpty({a,b});//控制台打印:false 5 6 ★★★ 例2: 判断集合是否不为空: 7 CollectionUtils.isNotEmpty(null); //控制台打印:false 8 CollectionUtils.i

    2024年02月09日
    浏览(26)
  • 怎么判断数组为空? 数组为空可能有两种情况

    情况一:数组的引用为null,若输出数组的长度,会报空指针异常 情况二:数组的长度为0,若输出数组的长度,会输出0 综上 : 判断数组为空需要判断两种情况 例如 数组名字为 nums 则判断数组为空需要以下语句 if(nums == null || nums.length == 0)

    2024年02月11日
    浏览(34)
  • MySQL如何判断不为空

    MySQL 中可以使用IFNULL函数判断一个值是否不为空。 MySQL IFNULL 函数是 MySQL 控制流函数之一,它接受两个参数,如果不是 NULL,则返回第一个参数。 否则,IFNULL 函数返回第二个参数。两个参数可以是文字值或表达式。 其中:如果 v1 不为 NULL,则 IFNULL 函数返回 v1; 否则返回 v2

    2023年04月15日
    浏览(66)
  • 小程序 js判断是否为空

    小程序 js判断是否为空 //判断字符是否为空的方法 const isEmpty = obj = {   if (typeof obj == \\\"undefined\\\" || obj == null || obj == \\\"\\\" || obj == \\\"undefined\\\"||obj.length==0) {     return true;   } else {     return false;   } } //判断字符是否为空的方法 const isNotEmpty = obj = {   if (

    2024年02月08日
    浏览(49)
  • JS判断数组不为空(有值)

    方法一 if(arr arr.length) 这句包含两个逻辑, 一是arr不为’’ null undefined, 但是需要判断数组有值还需判断 .length 不为0, 也可以写arr.length 0(更严谨) 方法二 ES6可选链操作符: if (!arr?.length)

    2024年01月16日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包