如果两个对象中的所有属性都相同,我如何创建一个返回true的函数?我已经编写了下面的代码,如果至少有一个属性相同,它将返回true。但是,如果其中一个属性不同,它应该返回false。请记住,我正在学习JavaScript...谢谢!
function BuildAddress(street, city, zipCode) {
this.street = street;
this.city = city;
this.zipCode = zipCode;
}
const address1 = new BuildAddress('a', 'b', 101);
const address2 = new BuildAddress('a', 'b', 101);
function areEqual(address1, address2) {
for (let key in address1)
for (let value in address2)
if (address1[key] === address2[value]) return true;
return false;
}
4条答案
按热度按时间jm81lzqq1#
检查两个对象是否相等。
5n0oy7gb2#
例如,实现这一目标有多种途径。
使用
JSON.stringfy
的方法1使用递归的方法2
使用
Object.keys()
和loop的组合的方法3请注意,方法1和方法2也适用于嵌套属性,而方法3仅适用于顶级属性。
希望能有所帮助。
gzjq41n43#
下面是一个函数示例,该函数比较两个对象,如果它们的所有属性都相同,则返回true:'
'
ehxuflar4#
你可以比较排序键数组。我的解决方案的一部分是基于这个问题:How to check if two arrays are equal with JavaScript?