【问题标题】:Node.js - How do I retrieve the value of an element within an object/arrayNode.js - 如何检索对象/数组中元素的值
【发布时间】:2015-09-07 06:10:26
【问题描述】:

我不确定我是否在标题中使用了正确的术语,但这是我想要从中检索数据的原始结果。

{ items:
   [ { name: 'keydose',
       keys: 69,
       cid: 0,
       $created': '2015-06-21T19:20:38.833Z',
   '   $updated': '2015-06-21T19:20:38.833Z' } ] }

这是通过使用 twitch-irc-db 模块和 node.js 的 twitch-irc 库创建的,通过执行以下操作接收上面的输出:

db.where('users', {name: user.username}).then(function(result) {
    console.log(result);
});

我尝试使用 console.log(result.items.cid)、console.log(result.items.cid[0]) 和 console.log(result.items.cid.valueOf()) 来获取数据库中 cid 的值,但我不知道还有什么可以尝试的,我已经用谷歌搜索了很长时间,但找不到任何东西。

感谢您的宝贵时间 :)

【问题讨论】:

    标签: javascript arrays node.js object


    【解决方案1】:

    提示:result.items 是一个数组(括号 [] 表示 JS 中的数组)。谷歌 -> javascript arrays

    获取第一项的cid

    result.items[0].cid
    

    获取所有cids 的数组:

    result.items.map(function (item) {
      return item.cid
    })
    

    或者如果你想对每个项目做某事:

    result.items.forEach(function (item) {
      // Do stuff!
    })
    

    【讨论】:

      【解决方案2】:

      您需要查看结构。对象将以{ 开头,数组将以[ 开头。当您看到一个对象时,您可以使用.propertyName 访问propertyName。对于 Array,您当然需要使用索引来选择 Array 中的一个对象。

      这是你的响应对象;

      { items:
         [ { name: 'keydose',
             keys: 69,
             cid: 0,
             $created': '2015-06-21T19:20:38.833Z',
             $updated': '2015-06-21T19:20:38.833Z' } ] }
      

      我们可以使用result.items[0] 来访问数组中items 引用的第一个对象。要获得cid,我们将使用result.items[0].cid

      通常,如果您希望项目不止一项,您可以使用forEachfor 循环或特定于库的方法对它们进行迭代。使用forEach,您可以:

      result.items.forEach(function(item) {
        console.log(item.cid);
      });
      

      【讨论】:

      • 谢谢大家,有没有机会知道如何为 if console.log(result); 做一个 if 语句是空的?例如,如果该人名下的数据库中没有任何内容。我想为没有任何数据的用户在加入 IRC 频道后自动将数据插入数据库,因此我需要检查他们是否这样做。
      • @Keydose 你可以做if (!result) { ... }。如果你想以任何一种方式做某事,你可以做if (result) { ... } else { ... },在其他情况下,你会处理它们不在数据库中。
      • 非常感谢!在来到 Stack Overflow 之前,我花了好几个小时试图弄明白,然后绝望地在 Google 上寻找答案。你帮助我向社区介绍了一个非常积极的开始,我很高兴加入这个网站:)
      • @Keydose 不客气。这是一个很棒的社区。祝你好运!
      猜你喜欢
      • 1970-01-01
      • 2022-09-30
      • 2013-10-28
      • 2013-06-22
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      • 2018-11-25
      • 1970-01-01
      相关资源
      最近更新 更多