js判断两个对象是否相等的方法
有如下两个对象例子:
var obj1 = { name:"xx", sex:"man", age:18 } var obj2 = { name:"xxs", sex:"man", age:18 }
判断两个对象是否相等方法:
function 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 isChange = isObjectValueEqual(obj1,obj2); if (isChange == true){ console.log('没有修改,不需要提示是否保存'); }else { console.log('发生修改,提示是否保存'); }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » js判断两个对象是否相等的方法
码云笔记 » js判断两个对象是否相等的方法