JavaScript中引用数据类型如何比较是否相等--两个对象相比较属性和值是否相等
发布日期:2021-06-30 11:52:29
浏览次数:2
分类:技术文章
本文共 814 字,大约阅读时间需要 2 分钟。
js中的对象是引用类型 使用 == / === 已经无法判断两个对象的属性和值是否相等
函数封装
// 对比两个对象的值是否完全相等 返回值 true/falselet isObjectValueEqual = (a, b)=>{ //取对象a和b的属性名 var aProps = Object.getOwnPropertyNames(a);//返回指定对象所有自身属性名 var bProps = Object.getOwnPropertyNames(b); //判断属性名的length是否一致 if (aProps.length != bProps.length) { return false; } //循环取出属性名,再判断属性值是否一致 for (var i = 0; i < aProps.length; i++) { var propName = aProps[i]; if (a[propName] !== b[propName]) { return false; } } return true;}
示例演示
var obj1 = { name: "dyh", sex: "male", age: 18,};var obj2 = { name: "dyh", sex: "male", age: 18,};var obj3 = obj1; //obj1和ob3的指针指向了内存中的同一个地址console.log(isObjectValueEqual(obj1, obj2)); //trueconsole.log(obj1 == obj3); // trueconsole.log(obj1 === obj3); // trueconsole.log(obj2 == obj3); // falseconsole.log(obj2 === obj3); // false
转载地址:https://jackiehao.blog.csdn.net/article/details/107415912 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月21日 16时22分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
十二、注册表操作函数
2019-04-30
C++的除法需要留意的几点情况
2019-04-30
C++打印三角形、四边形
2019-04-30
C++程序的基本组成简介
2019-04-30
JavaScript变量及访问方式介绍
2019-04-30
centos7 hbase1.4.13+hadoop2.7.1+单机环境搭建
2019-04-30
HDP+ambari安装
2019-04-30
140行代码自己动手用python写一个词云制作小工具
2019-04-30
数据挖掘 | 利用python进行商品亲和性分析
2019-04-30
80行代码自己动手用python写一个表格拆分与合并小工具
2019-04-30
pytorch之tensor
2019-04-30
判断图同构大杀器---nauty算法
2019-04-30
为什么有时候python代码不能左对齐
2019-04-30
python中保存一个数组,你会吗?
2019-04-30
随笔记--Pycharm中Terminal字体大小的设置
2019-04-30
随笔记--调用不熟悉的函数时不要自己乱改参数形式
2019-04-30
Dataset数据读取
2019-04-30
ResNet网络理解
2019-04-30
架构设计 分布式系统调度,Zookeeper集群化管理
2019-04-30
数据源管理 (一)
2019-04-30