如何检查对象的javascript数组是否列出了每个属性? [关闭]

问题描述 投票:3回答:3

您好,我正在尝试创建一个函数,该函数检查对象中的每个属性以查看其是否列出了所有属性。

例如,我想搜索我下面的对象

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”的问题。

为了实现这一目标,我应该怎么做?谢谢。

编辑:我在第三个对象上犯了一个错误,因为有人对此发表了评论。立即更正

javascript arrays algorithm object properties
3个回答
4
投票

您可以将filter()上的filter()exampleObj上的every()组合:

every()

0
投票

您可以使用过滤器来判断是否存在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

-1
投票

我认为您可以在此链接中找到解决方案。b

© www.soinside.com 2019 - 2024. All rights reserved.