您好,我正在尝试创建一个函数,该函数检查对象中的每个属性以查看其是否列出了所有属性。
例如,我想搜索我下面的对象
var exampleObj = [{"a": 1, "b": 2, "c": 3}, {"a": 1, "Z": 2, "c": 3}, {"a": 1, "P": 2, "c": 3}];
而且我想知道如何构建一个函数来丢弃不匹配的函数ALL下面列出的属性
var hasAllProps = ["a", "b"];
在exampleObj的第二个对象中,它仅包含“ a”,但不包括“ b”,因此它不计数,因此将其丢弃;第三个对象也是如此。 exampleObj中只有第一个对象通过,因为它具有两个属性。 “ a”和“ b”。我也希望此功能在搜索对象时也能够处理不仅仅是“ a”和“ b”的问题。
为了实现这一目标,我应该怎么做?谢谢。
编辑:我在第三个对象上犯了一个错误,因为有人对此发表了评论。立即更正
您可以使用过滤器来判断是否存在lProps
属性和var exampleObj = [{"a": 1, "b": 2, "c": 3}, {"a": 1, "Z": 2, "c": 3}, {"a": 1, "b": 2, "P": 3}];
var lProps = ["a", "b"];
let filtered = exampleObj.filter(obj => lProps.every(prop => prop in obj))
console.log(filtered)
属性。
a
我认为您可以在此链接中找到解决方案。b