首页 > 其他 > 详细

判断两个对象相等

时间:2017-06-21 10:41:09      阅读:300      评论:0      收藏:0      [点我收藏+]
<script>

var a = {
name: ‘jk‘,
age: 12,
say: {
today: ‘hi‘,
yesterday: ‘no‘
},
arr: [1,2]
};

var b = {
name: ‘jk‘,
age: 12,
say: {
today: ‘hi‘,
yesterday: ‘no‘
},
arr: [1,2]
};

console.log(isObjectValueEqual(a, b));

function isObjectValueEqual(a, b) {
if (typeof a == ‘number‘ && typeof b == ‘number‘) {
return a == b
}


var aProps = Object.getOwnPropertyNames(a);
var bProps = Object.getOwnPropertyNames(b);

if (aProps.length != bProps.length) {
return false;
}

for (var i = 0; i < aProps.length; i++) {
var propName = aProps[i];
console.log(propName, Object.prototype.toString(a[propName]));
//if (Object.prototype.toString(a[propName]) == ‘[Object Object]‘ || Object.prototype.toString(b[propName]) == ‘[Object Object]‘) {
if ( typeof a[propName] === ‘object‘ || typeof b[propName] === ‘object‘ ){
console.log(a[propName], b[propName]);
isObjectValueEqual(a[propName], b[propName])
}else if (a[propName] !== b[propName]) {
return false;
}
}
return true;
}
</script>

判断两个对象相等

原文:http://www.cnblogs.com/mazhaokeng/p/7058027.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!