Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中检查两个不同对象的相同值,且值的数目不同_Javascript_Object - Fatal编程技术网

如何在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