我想doSomething
如果对象的所有值都存在于另一个对象中
const object1 = { letter: 'a', number: 1 };
const object2 = { letter: 'b', number: 2 };
const object3 = { letter: 'a', number: 1, address: 'not in object4' }
const object4 = { letter: 'a', number: 1, address: 'different address', section: 'abc' }
if (isPresent(object1, object4)) doSomething;
如果在第一个参数object1
中用object2
或替换object3
in isPresent
,则它应该返回false,因为object4没有它们的值,并且如果parameter1上的所有值都像在样本上一样存在于arguments2上,则返回true。
您可以获取所有条目并对照另一个对象进行检查。
const
isPresent = (a, b) => Object.entries(a).every(([k, v]) => k in b && v === b[k]),
object1 = { letter: 'a', number: 1 },
object2 = { letter: 'b', number: 2 },
object3 = { letter: 'a', number: 1, address: 'not in object4' },
object4 = { letter: 'a', number: 1, address: 'different address', section: 'abc' };
console.log(isPresent(object1, object4)); // true
console.log(isPresent(object2, object4)); // false
console.log(isPresent(object3, object4)); // false
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句