检查另一个对象中是否存在键/值对
Check if key / value pair exist within another object
如果我有以下两个对象(对象A和对象B),如何检查对象B的键/值是否存在于对象A?在下面的示例中,它应该返回 True,因为对象 A 中同时存在"make:"Apple"和"Model:"iPad"。
编辑:对象B将是动态的,可能仅包含Make或仅包含模型。更多键通过复选框筛选器动态添加。
使用下划线等库是否更容易?如果是这样,哪些功能将适用?
我希望这是有道理的?
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);
没有内置的方法可以做到这一点,但你可以使用自己的实现(参见Nina Scholz的答案)或Lodash的_.isMatch函数(或Underscore的_.isMatch):
_.isMatch(a, b)
相关文章:
- 如何查找值是否存在于二叉树中
- 正在数组中存储键值对
- 数据表通过分析一列的值对其进行排序
- 如何将新的键/值对元素添加到现有数组
- 需要帮助使用JQuery.inArray()检查值是否存在
- 在键值对中对求和值进行下划线
- 比较包含多个值对的两个JavaScript数组
- mongodb检查值是否存在(node.js)
- 我想将查询字符串变量添加到JSON名称/值对中
- 返回由键/值对定义的数组
- 在url参数javascript中存储键值对列表
- 设置选项对象关键点:值对以实现带第二个y轴的动态打印
- 将数组转换为键值对
- jQueryAJAX-将额外的键/值对推送到序列化的$_POST数组中
- 在 JavaScript 中,在声明对象的新键:值对时,引用对象的变量名与使用“this”之间是否存在差异
- 检查另一个对象中是否存在键/值对
- 使用Underscore JS _contains方法检查数组中是否存在键/值对
- 根据键的存在和值对对象数组进行排序
- 如何将键值对附加到AngularJS中已经存在的url
- 在UnderscoreJS中,是否存在用于匹配任何键值对的集合过滤器?