Javascript 如何确定一个对象值是否包含在另一个对象值中
我有一个目标Javascript 如何确定一个对象值是否包含在另一个对象值中,javascript,node.js,collections,lodash,Javascript,Node.js,Collections,Lodash,我有一个目标 obj1 = { key: 'a,b,c,d' } 另一个物体 obj2 = { key: 'b,a' } 我想检查obj2值是否包含在obj1中 我尝试了下面的方法,但对于上述两个对象,它返回false function includesValues(obj1, obj2) { return Object.values(obj1).every(v1 => Object.values(obj2).some(v2 => v2.s
obj1 = {
key: 'a,b,c,d'
}
另一个物体
obj2 = {
key: 'b,a'
}
我想检查obj2
值是否包含在obj1
中
我尝试了下面的方法,但对于上述两个对象,它返回false
function includesValues(obj1, obj2) {
return Object.values(obj1).every(v1 =>
Object.values(obj2).some(v2 =>
v2.split(',').forEach((val) => {
v1.includes(val.toString());
})
)
);
}
我做错了什么?您必须返回v1.includes语句,因为它不是从块隐式返回的
obj1={
钥匙:“a,b,c,d”
};
obj2={
钥匙:“a,b”
};
函数includeValue(obj1、obj2){
返回Object.values(obj1).every(v1=>
Object.values(obj2).some(v2=>
v2.拆分(',')。每个((val)=>{
返回v1.split(',')。包括(val.toString());//返回此
})
)
);
}
console.log(包括值(obj1、obj2))代码>必须返回v1.includes语句,因为它不是从块隐式返回的
obj1={
钥匙:“a,b,c,d”
};
obj2={
钥匙:“a,b”
};
函数includeValue(obj1、obj2){
返回Object.values(obj1).every(v1=>
Object.values(obj2).some(v2=>
v2.拆分(',')。每个((val)=>{
返回v1.split(',')。包括(val.toString());//返回此
})
)
);
}
console.log(包括值(obj1、obj2))代码>更改forEach
为每一个@dandavis完美!将forEach
更改为every
@dandavis完美无瑕!