📜  如何比较两个对象以确定第一个对象包含与 JavaScript 中的第二个对象等效的属性值?

📅  最后修改于: 2022-05-13 01:56:32.043000             🧑  作者: Mango

如何比较两个对象以确定第一个对象包含与 JavaScript 中的第二个对象等效的属性值?

给定两个对象obj1obj2 ,任务是检查obj1是否包含 JavaScript 中obj2的所有属性值。

Input: obj1: { name: "John", age: 23; degree: "CS" }
       obj2: {age: 23, degree: "CS"}
       
Output: true

Input: obj1: { name: "John", degree: "CS" }
       obj2: {name: "Max", age: 23, degree: "CS"}
       
Output: false

为了解决这个问题,我们遵循以下方法。

方法1:解决这个问题是一种幼稚的方法。在这种方法中,我们使用for..in循环迭代obj2 ,并且在每次迭代时,我们检查两个对象的当前键是否不相等,我们返回false ,否则在循环完成后我们返回true

例子:

Javascript


Javascript


输出:

true

方法 2:在这种方法中,我们使用Object.keys()方法创建 obj2 的所有键的数组,然后使用Array.every()方法检查 obj2 的所有属性是否等于 obj1 .

例子:

Javascript


输出:

true