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

如何判断两个对象相等?

程序员文章站 2022-04-09 21:18:51
...

法一:
当然JSON.stringify(obj)==JSON.stringify(obj)执行速度是最快的

JSON.stringify({name:'23423',www:'1313'}) == JSON.stringify({name:'23423',www:'1313'})
//true

JSON.stringify({name:'23423',www:'1313'}) == JSON.stringify({mkmk:'2345234'})
//false

法二:

function isSameObject(object1, object2) {
    if (Object.prototype.toString.call(object1) === '[object Object]' &&
        Object.prototype.toString.call(object2) === '[object Object]') {
        if (Object.keys(object1).length !== Object.keys(object2).length) {
            return false;
        }
        for (let key in object1) {
            if (!object2[key] || object1[key] !== object2[key]) {
                return false;
            }
        }
    }
    return true;
}
相关标签: 前端js javascript