如何在Javascript中检查两个不同对象的相同值,且值的数目不同
我有三个不同数量的值的对象,我需要检查其他对象中的可用值是否相同。例如,如果我将如何在Javascript中检查两个不同对象的相同值,且值的数目不同,javascript,object,Javascript,Object,我有三个不同数量的值的对象,我需要检查其他对象中的可用值是否相同。例如,如果我将obj1与obj2进行比较,那么在obj2中,我们只有两个键,在obj1中,我们有相同的键和相同的值,然后返回true。。。请帮我写函数 提前感谢:) 这就是解决方案:) const obj1 = { age: 25, color: "white", weight: true }; const obj2 = { color: "white", weight: true } c
obj1
与obj2
进行比较,那么在obj2
中,我们只有两个键,在obj1
中,我们有相同的键和相同的值,然后返回true
。。。请帮我写函数
提前感谢:)
这就是解决方案:)
const obj1 = { age: 25, color: "white", weight: true };
const obj2 = { color: "white", weight: true }
const obj3 = { age: 26, color: "white", weight: true }
console.log(matches(obj1, obj2)); // true
console.log(matches(obj2, obj1)); // false
console.log(matches(obj3, obj1)); // false
console.log(matches(obj3, obj2)); // true
const obj1 = { age: 25, color: "white", weight: true };
const obj2 = { color: "white", weight: true }
const obj3 = { age: 26, color: "white", weight: true }
function matches(obj1, obj2) {
const isValidKeyValuePair = (currentKey) => {
return obj2[currentKey] === obj1[currentKey];
};
return Object.keys(obj2).every(isValidKeyValuePair)
}
console.log(matches(obj1, obj2)); // true
console.log(matches(obj2, obj1)); // false
console.log(matches(obj3, obj1)); // false
console.log(matches(obj3, obj2)); // true