我有一个对象
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());
})
)
);
}
http://jsfiddle.net/jhuman/4tv9cwjd/1705/
我在这里做错了什么?
最佳答案
您必须返回 v1.includes 语句,因为它不是从 block 中隐式返回的。
obj1 = {
key: 'a,b,c,d'
};
obj2 = {
key: 'a,b'
};
function includesValues(obj1, obj2) {
return Object.values(obj1).every(v1 =>
Object.values(obj2).some(v2 =>
v2.split(',').every((val) => {
return v1.split(',').includes(val.toString()); // Return this
})
)
);
}
console.log(includesValues(obj1,obj2));
关于javascript - 如何查找一个对象值是否包含在另一个对象值中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48068425/