当前位置: 首页 > 面试题库 >

如何判断两个对象相等?

章建木
2023-03-14
本文向大家介绍如何判断两个对象相等?相关面试题,主要包含被问及如何判断两个对象相等?时的应答技巧和注意事项,需要的朋友参考一下

提供另一种写法:

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;
}

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

 类似资料:
  • 假设您有两个相同的对象(意味着它们分别具有相同的属性和相同的值)。 你如何测试平等性? 例

  • 本文向大家介绍请问如何判断两个链表是否相交?相关面试题,主要包含被问及请问如何判断两个链表是否相交?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 从头遍历两个链表。创建两个栈,第一个栈存储第一个链表的节点,第二个栈存储第二个链表的节点。每遍历到一个节点时,就将该节点入栈。两个链表都入栈结束后。则通过top判断栈顶的节点是否相等即可判断两个单链表是否相交。因为我们知道,若两个链表相交,则从

  • 本文向大家介绍如何判断一个对象是否为空?相关面试题,主要包含被问及如何判断一个对象是否为空?时的应答技巧和注意事项,需要的朋友参考一下 可以使用 JSON.stringify() 方法判断 还有就是使用for in 遍历该对象 3.ES6 新增的方法 Object.keys(): Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组。 如果我们的对象为空,他会返回一个

  • 本文向大家介绍如何判断出一个js对象是否一个dom对象,包括了如何判断出一个js对象是否一个dom对象的使用技巧和注意事项,需要的朋友参考一下 我们在写js代码时有时需要判断某个对象是不是DOM对象,然后再进行后续的操作,这里我给出一种兼容各大浏览器,同时又算是比较稳妥的一种方法。 要判断一个对象是否DOM对象,首先想到的无非就是它是否具有DOM对象的各种属性或特征,比如是否有nodeType属性

  • 本文向大家介绍如何判断对象是否死亡(两种方法)?相关面试题,主要包含被问及如何判断对象是否死亡(两种方法)?时的应答技巧和注意事项,需要的朋友参考一下 堆中几乎放着所有的对象实例,对堆垃圾回收前的第一步就是要判断那些对象已经死亡(即不能再被任何途径使用的对象)。 2.1 引用计数法 给对象中添加一个引用计数器,每当有一个地方引用它,计数器就加 1;当引用失效,计数器就减 1;任何时候计数器为 0

  • 本文向大家介绍如何判断对象是否属于某个类?相关面试题,主要包含被问及如何判断对象是否属于某个类?时的应答技巧和注意事项,需要的朋友参考一下 obj.proto === class.prototype 可以递归去找 obj instanceof class