Javascript 如何检查一个对象中的所有值是否等于另一个对象中的值

Javascript 如何检查一个对象中的所有值是否等于另一个对象中的值,javascript,algorithm,Javascript,Algorithm,我试图将一个对象中的一些值与另一个对象中的值进行比较,并检查它们是否相等 例如: const mainObj = {"a": 0, "b": 0, "c": 0, "d": 1}; const obj1 = {"d": 1, "e": 0}; const obj2 = {"a": 1, "b": 0}; const obj3 = {&qu

我试图将一个对象中的一些值与另一个对象中的值进行比较,并检查它们是否相等

例如:

const mainObj = {"a": 0, "b": 0, "c": 0, "d": 1};
const obj1 = {"d": 1, "e": 0};
const obj2 = {"a": 1, "b": 0};
const obj3 = {"a": 0, "d": 1};
const obj4 = {"a": 0, "b": 0, "c": 0 "d": 1};

mainObj === obj1 // false;
mainObj === obj2 // false;
mainObj === obj3 // true;
mainObj === obj4 // true;
编辑:修复了打字错误

您在第4个数组中遗漏了一个“,”,请将代码更改为

const mainObj = {"a": 0, "b": 0, "c": 0, "d": 1};
const obj1 = {"d": 1, "e": 0};
const obj2 = {"a": 1, "b": 0};
const obj3 = {"a": 0, "d": 1};
const obj4 = {"a": 0, "b": 0, "c": 0, "d": 1};

mainObj === obj1 // false;
mainObj === obj2 // false;
mainObj === obj3 // true;
mainObj === obj4 // true;

然后重试

您可以执行以下操作

const mainObj={“a:0”,b:0,c:0,d:1};
常量obj1={“d”:1,“e”:0};
常量obj2={“a”:1,“b”:0};
常量obj3={“a”:0,“d”:1};
常量obj4={“a”:0,“b”:0,“c”:0,“d”:1};
常量比较bj=(objA,objB)=>{
让res=真;
Object.keys(objB).forEach(key=>{
如果(!objA.hasOwnProperty(键)| | objA[key]!==objB[key]){
res=假;
}
})
返回res;
}
console.log(compareObj(mainObj,obj1));
console.log(compareObj(mainObj,obj2));
console.log(compareObj(mainObj,obj3));

console.log(compareObj(mainObj,obj4))请添加您的尝试。顺便说一句,你有不同的目标,即使包含相同数量的键和相同的值。@NinaScholz我的尝试是使用lodash中的
isMatch
isEqual
,但如果对象在所有值中相等,或者如果对象中至少有一个值,则它们会进行比较,因此看起来不起作用