【问题标题】:How do I access the nested properties of an array in Loopback? [duplicate]如何在 Loopback 中访问数组的嵌套属性? [复制]
【发布时间】:2017-06-27 12:08:31
【问题描述】:

这里,
res = 检索到的结果数组

res = [ Object, Object, Object... Object ]

每个对象如下所示:

Object{
    "userId": "ab1ce",
    "groupId": "a1de2"
}

现在,结果有一个这样的对象数组,我如何访问这些对象中存在的 userId?

【问题讨论】:

    标签: javascript arrays ecmascript-6 loopback ecmascript-2016


    【解决方案1】:

    像这样:

    res.forEach(function(obj){
     console.log(obj.userId);
    });
    

    【讨论】:

    • 如果我想将结果数据存储到 JSON fromat 中的变量中怎么办?
    • 第一步:学习javascript基础,第二步:尝试一些东西
    【解决方案2】:

    对于数组的每一项,0到n,你可以从数组中获取对象,然后访问它的属性。

    例如,res[0].userId 将为您获取第一项的用户 ID。

    您可能应该阅读某种 Javascript 入门手册来获得基本知识,info pagethis one 中列出的一些是不错的

    【讨论】:

      【解决方案3】:

      res 是一个对象数组,因此要访问一个对象,您必须使用以下内容:

      res[index];
      

      其中index 是一个下标,它告诉您想要数组的哪个项目。由于数组是 0 索引的,index 应该在[0, res.length - 1] 范围内。

      然后,当您从数组res 访问一个项目时,您将获得一个可以使用以下任一方式访问的对象:

      res[index].key;
      // OR
      res[index]["key"];
      

      其中key 是该对象的属性名称。因此,要获取数组中第一个对象的 userId,请使用:

      var mySecondObject = res[1]; // 0 is the first, 1 is the second ...
      var theId = mySecondObject.userId; // or theId = mySecondObject["userId"];
      

      或者像这样在一行中:

      var theId = res[1].userId;
      

      注意: res 是一个数组,您可以使用很多不同的方式循环它(for 循环,forEach ...)here 是一个示例怎么做。

      【讨论】:

        【解决方案4】:

        如果您在环回中使用它,您可以在 where 子句中使用 inq 属性,以便从数组内部搜索某些内容 例如:

        modelname.method({ where: { "property": { inq [ res.property  ] } } }, (err, res) => {
            if(err) { return console.error(err);
            } else {
                return true;
            }
        });
        

        inq 运算符检查指定属性的 value 是否与 array 中提供的任何值匹配>。一般语法是:

        {where: { property: { inq: [val1, val2, ...]}}}
        

        地点:

        property是被查询模型中的一个属性(字段)的名称。

        val1、val2 等数组中的文字值。

        inq 运算符的

        示例

        Posts.find({where: {id: {inq: [123, 234]}}}, 
            function (err, p){... });
        

        答案是特定于环回的。

        【讨论】:

          猜你喜欢
          • 2019-08-25
          • 1970-01-01
          • 1970-01-01
          • 2016-09-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-09-19
          • 2019-12-13
          相关资源
          最近更新 更多