前端判断对象为空

一.使用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

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  不为空对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689221.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python面向对象:什么是面向对象程序设计

编程范式 编程即写程序or代码,具体是指程序猿用特定的语法数据结构算法编写代码,目的是用来告诉计算机如何执行任务。 如果把编程的过程比喻为练习武功,那么编程范式指的就是武林中的各种流派,而在编程的世界里最常见的两大流派就…

微信小程序:实现微信小程序应用首页开发 (本地生活首页)

文章目录 小程序应用页面开发1、创建项目并配置项目目录结构配置导航栏效果三、配置 tabBar 效果四、轮播图实现4.1 创建轮播图数据容器4.2 定义一个请求轮播图数据的接口4.3 页面加载调用 数据请求接口 五、九宫格实现5.1 获取九宫格数据5.2 结构和样式的完善六、图片布局实现…

基于 Amazon EC2 和 Amazon Systems Manager Session Manager 的堡垒机的设计和自动化实现

1. 背景 在很多企业的技术实现中,由于数据安全和合规性要求,大部分的应用服务都部署在私有云环境或专用网络中。为了满足开发人员和运维团队从本地数据中心安全访问云上资源的需求,采用堡垒机作为一种有效的解决方案变得尤为重要。 堡垒机的…

Java数组的传递

Java数组的传递过程中,值会不会改变 最后的运行结果是 String类型的值没有改变,char[]类型的值改变了。char[]打印出的并不是值,而是地址。 public class Test1{String str new String("good");char[] ch {a,b,c};public void ch…

【漏洞复现】H3C SecParh堡垒机任意用户登录漏洞

Nx01 产品简介 H3C SecParh堡垒机是一款专业用于安全管理的堡垒机产品,它通过强大的访问控制功能和安全审计功能,实现对网络服务器的远程安全管理和监控。 Nx02 漏洞描述 H3C SecParh堡垒机的get_detail_view.php中存在任意用户登录漏洞。攻击者可以构建…

深入了解Linux设备管理:字符、块和网络设备文件

在Linux系统中,硬件设备被视为一种特殊的文件类型,即设备文件。这种独特的文件类型分为三种:字符设备文件、块设备文件和网络设备文件。本篇博客将深入介绍这些设备文件的概念,以及它们在Linux系统中的作用和应用。 字符设备文件…

Robotframework 的简介及其工作原理~

下面通过官网和网上资料来简单介绍下Robotframework及其工作原理。 官方说明: Robot Framework is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). It has easy-to-use tabular test data syntax a…

CentOS 7.9如何禁止内核自动更新升级

要在 CentOS 7.9 系统中禁止内核自动更新,你可以通过配置 YUM(Yellowdog Updater, Modified)来实现。这里有几种方法可以阻止内核自动更新: 方法 1: 使用 exclude 选项在 YUM 配置中 编辑 YUM 的配置文件 /etc/yum.conf&#xff…

IO 流分类

一、File File 类(磁盘操作)可以用于表示文件和目录的信息,但是它不表示文件的内容。递归地列出一个目录下所有文件: public static void listAllFiles(File dir) {if (dir null || !dir.exists()) {return;}if (dir.isFile())…

普源(RIGOL) DHO914S示波器 简单开箱评测

普源精电(RIGOL) DHO914S 12bit数字示波器 简单开箱评测。 旧的示波器感觉不好用,所以换个新的,看中了普源的这款,主要看中它便携支持PD供电,还有伯德图功能,以及12bit的垂直分辨率。如果你对我上面说的点没需求&…

【C语言】Debian安装并编译内核源码

在Debian 10中安装并编译内核源码的过程如下: 1. 安装依赖包 首先需要确保有足够的权限来安装包。为了编译内核,需要有一些基础的工具和库。 sudo apt update sudo apt upgrade sudo apt install build-essential libncurses-dev bison flex libssl-d…

Linux环境部署Maven(图文详细)

目录 摘要 一、准备工作 1.检查当前环境是否安装maven 2.下载maven ​编辑 3.上传maven压缩包 4.解压maven包 5.移动到/usr/local目录下方便管理 6.配置maven环境变量 7.刷新配置文件 8.配置maven镜像仓库 9.验证是否成功 摘要 笔者Linux环境为:Ubuntu 2…

Vue | (一)Vue核心(下) | 尚硅谷Vue2.0+Vue3.0全套教程

文章目录 📚class与style绑定📚条件渲染📚列表渲染🐇基本列表🐇key的原理🐇列表过滤(搜索)🐇列表排序🐇Vue数据监测 📚收集表单数据📚…

ADO世界之SECOND

目录 一、ADO 排序记录 1.对数据进行排序 2.根据指定的字段名处对记录进行升序排序 3.根据指定的字段名处对记录进行降序排序 4.让用户来选择根据哪列进行排序 二、ADO 添加记录 1.向数据库中的表添加记录 2.使用 INSERT command 命令时的注意事项 3.无数据字段 三、…

C 练习实例70-求字符串长度

题目&#xff1a;写一个函数&#xff0c;求一个字符串的长度&#xff0c;在 main 函数中输入字符串&#xff0c;并输出其长度。 解答&#xff1a; #include <stdio.h> int length(char *s); int main() {int len;char str[20];printf("请输入字符串:\n");scan…

一周学会Django5 Python Web开发-Django5路由定义

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计22条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

【数据库】日常使用PL/SQL 登录ORACLE 数据库查询数据

一、PL/SQL 登录方式 username&#xff1a; ##访问数据库的账号 password&#xff1a; ##访问数据库的密码 Databse&#xff1a; ##数据库IP地址/实例名 & 数据库集群心跳地址/实例名 Connect as : ##Normal&#xff0c;如果使用sysdba账户登录选择SYSDBA 二、PL/SQL使用…

OpenAI Sora —— 文生视频为何如此逼真?AI算法架构解析

OpenAI于2024年2月16日发布了名为Sora的文生视频模型。Sora是一个革命性的视频生成模型&#xff0c;可以根据用户输入的简单文本脚本自动生成与好莱坞级别画面相媲美的视频内容&#xff0c;其生成的视频不仅仅是对已有素材的拼接或剪辑合成&#xff0c;而是从像素级别全新“绘制…

返回 x 的小数和整数部分math.modf(x)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 返回 x 的小数和整数部分 math.modf(x) [太阳]选择题 请问以下代码输出的结果是&#xff1f; import math print("【执行】math.modf(10.5)") print(math.modf(10.5)) A选项&am…

Vue+Vite项目初建(axios+Unocss+iconify)

一. 创建项目 npx --package vue/cli vue 项目成功启动后&#xff0c;进入http://localhost:3200&#xff0c;即可进入创建好的页面(假设启动端口为3200) 二. 测试网络通讯模块 假设有本地服务器地址localhost:8000提供接口服务&#xff0c;接口为localhost:8000/token&#…