javascript - 检查另一个对象中是否存在键/值对

标签 javascript angularjs

如果我有以下两个对象(对象 A 和对象 B),如何检查对象 B 的键/值是否与对象 A 存在?在下面的示例中,它应该返回 True,因为对象 A 中同时存在“make: "Apple"' 和 'Model: "iPad"'。

编辑:对象 B 将是动态的,可能仅包含 Make 或仅包含 Model。通过复选框过滤器动态添加更多键。

使用 Underscore 之类的库是否更容易?如果可以,哪些函数适用?

我希望这是有道理的?

        var a = {
            Make: "Apple",
            Model: "iPad",
            hasScreen: "yes",
            Review: "Great product!",
        }

        var b = {
            Make: "Apple",
            Model: "iPad"
        }

最佳答案

只需遍历所有键并检查值是否相等。

var a = { Make: "Apple", Model: "iPad", hasScreen: "yes", Review: "Great product!" },
    b = { Make: "Apple", Model: "iPad" },
    every = Object.keys(b).every(function (k) {
        return a[k] === b[k];
    });

document.write(every);

关于javascript - 检查另一个对象中是否存在键/值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35244109/

相关文章:

javascript - 单击 div 上的关闭按钮并触发 div click()

javascript - window.location.hash 不会在 IE 的 iframe 中提醒

javascript - 如何将设置对象从 Controller 传递给服务?

javascript - 在纯 JavaScript 中构建具有多个步骤的表单向导的最佳实践?

javascript - JS写入文件

javascript - 数组递增 Javascript/node js/mongodb

javascript - 如何防止用户在 Angular 中监视的输入字段上输入错误的内容?

javascript - 在 AngularJS 中使用 jqLit​​e 附加文本

javascript - 将括号替换为 HTML 小于号字符

javascript - 为什么这个 ng-maxlength 将我的有效输入设置为未定义?