javascript - 如何查找一个对象值是否包含在另一个对象值中

标签 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.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/

相关文章:

javascript - 冲突 dojo.require 和 Socket.io 客户端

java - 如何从 Java 中的 ArrayList<Double> 中删除最小值和最大值(只有一个最小值和一个最大值,不是全部)

javascript - 固定容器内子 div 中的滚动条

javascript - 如何在 Express 中使用 Discord.JS 内容

javascript - 在nodejs中为oracledb提交后释放连接的正确方法是什么

node.js - Travis 上的临时文件

java - 在 Java 中使用长列表作为映射键

java - 我应该使用哪种 map ?

javascript - AngularJS 待办事项列表应用程序 - 正在添加到列表而无需输入文本

javascript - 如何处理浏览器尚未调用代码的 SJR 响应?