javascript - 如何在 JavaScript 中检查一个 JS 对象的所有键和值是否存在于另一个 JS 对象中?
问题描述
假设有两个 JavaScript 对象。
first = [{valueOne: "DescOne"},{valueTwo: "Desctwo"},{valueThree: "DescThree"},{valueFour: "DescFour"}];
second= [{valueTwo: "Desctwo"},{valueFour: "DescFour"}];
我真正想要的是,如果 JSON Object 的所有键和值都second
存在于first
JSON Object 中,那么它将返回match = true
,true
否则它将返回match = false
or false
。
注意:first
and的值second
会动态变化,它的索引也会变化
我必须在 ES 中这样做
任何帮助,将不胜感激。
解决方案
Apply every
on second
array and use Object.entries
to extract key and value, then check if it is present in the first array.
const second = [{valueTwo: "Desctwo"},{valueFour: "DescFour"}]
const first = [{valueOne: "DescOne"},{valueTwo: "Desctwo"},{valueThree: "DescThree"}, {valueFour: "DescFour"}];
const output = second.every((obj) => {
const [secondKey, secondVal] = Object.entries(obj)[0];
return first.some((obj) => {
const [firstKey, firstVal] = Object.entries(obj)[0];
return firstKey == secondKey && firstVal == secondVal;
});
});
console.log(output);
推荐阅读
- javascript - 获取数据并将数据发布到外部 Web API、服务器端还是客户端?
- python - 匹配熊猫列中列表和列表之间的相似元素
- javascript - 无法将 jquery 数据表中的 Json 数据与正确的数据绑定
- c# - 带有字符串参数的构造函数和带有对象参数的相同重载
- c# - 如何使用表示查询的递归结构解析 JSON
- jvm - JVM 选项 MaxMetaspaceSize - 要设置的最佳值是多少?
- jquery - jQuery TextFX 插件(不是 textfx 2),如何让它动画多行?
- c# - 使用激活库模式注册 .NET DLL
- javascript - css 动画跨屏并返回
- sql - 将 varchar "dd/mm/yyyy hh:mm:ss" 转换为 datetime2