欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

js判断两个对象是否相等

程序员文章站 2022-03-02 13:04:30
...
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];
        if(Object.prototype.toString(a[propName]) == '[Object Object]'||Object.prototype.toString(b[propName]) == '[Object Object]'){
            isObjectValueEqual(a[propName],b[propName])
        }
        if (a[propName] !== b[propName]) {
            return false;
        }
    }
    return true;
}