【问题标题】:How to check if a model with certain values exist in an object如何检查对象中是否存在具有特定值的模型
【发布时间】:2021-07-30 07:59:35
【问题描述】:

我正在使用 API 做一个项目,并且在 API 中有一个对象,我们称之为userGrades。它看起来像这样:

"userGrades" : [ 
  {"buytime": value, grade: "Audi", "expiretime": "value"}, 
  {"buytime": value, grade: "BW", "expiretime": "value"}
]

此 API 连接到一台 Fivem 服务器,如果玩家为 BW 购买了汽车牌照,假设现在该许可证已添加到此数组中,我需要检查他是否有 BW 许可证并以是或否响应.如果我设法发现我可以从那里进行管理,有什么想法吗?

【问题讨论】:

    标签: javascript node.js json discord.js


    【解决方案1】:

    您可以使用Array#some() 方法检查grade"BW" 的数组中是否存在至少一个元素。查看下面的 sn-p:

    const obj = {
      userGrades: [
        {
          buytime: 'value',
          grade: 'Audi',
          expiretime: 'value',
        },
        {
          buytime: 'value',
          grade: 'BW',
          expiretime: 'value',
        },
      ],
    };
    
    const hasBW = obj.userGrades.some((i) => i.grade === 'BW');
    const hasAudi = obj.userGrades.some((i) => i.grade === 'Audi');
    const hasXX = obj.userGrades.some((i) => i.grade === 'XX');
    
    console.log({ hasAudi, hasBW, hasXX });

    【讨论】:

      【解决方案2】:

      你可以检查它是否有一个空值。

      在您的情况下,您可以将值存储在 variable 中,然后访问该对象。假设您将该对象存储在名为 xyz 的变量中。

      console.log(xyz[1]['grade'])  //xyz here is that array of objects
      

      如果上面打印未定义,则其中没有任何值,因此用户没有 BW 许可证,反之亦然。您可能可以在 if 语句中使用它。

      【讨论】:

      • 确实,如果我在对象中恰好有 2 个模型,而第二个是我需要的模型,但你看到这个 api 是动态的,我的意思是有时对象有 2 个模型,就像示例中一样但有时它有 3 个模型或只有一个模型,我无法知道我需要检查的模型在数组中的哪个位置
      • 您始终可以遍历该数组并检查每个数组,如果找到,您还可以将索引值存储在变量中。这能解决你的疑问吗???
      猜你喜欢
      • 1970-01-01
      • 2019-12-15
      • 2019-03-31
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 2023-02-16
      • 1970-01-01
      • 2021-03-12
      相关资源
      最近更新 更多