首页 > 解决方案 > 如何在 JavaScript 中检查一个 JS 对象的所有键和值是否存在于另一个 JS 对象中?

问题描述

假设有两个 JavaScript 对象。

first = [{valueOne: "DescOne"},{valueTwo: "Desctwo"},{valueThree: "DescThree"},{valueFour: "DescFour"}];

second= [{valueTwo: "Desctwo"},{valueFour: "DescFour"}];

我真正想要的是,如果 JSON Object 的所有键和值都second存在于firstJSON Object 中,那么它将返回match = truetrue否则它将返回match = falseor false

注意:firstand的值second会动态变化,它的索引也会变化

我必须在 ES 中这样做

任何帮助,将不胜感激。

标签: javascriptjsonobject

解决方案


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);


推荐阅读