Node.js - 如何检索对象/数组中元素的值

时间:2015-06-21 20:25:01

标签: javascript arrays node.js object

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

{ 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的价值,但我不知道还有什么可以尝试,我已经谷歌搜索了很长时间,却找不到任何东西。

感谢您的时间:)

2 个答案:

答案 0 :(得分:7)

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

所以这是你的回应对象;

{ 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引用的数组中的第一个Object。要获得cid,我们会使用result.items[0].cid

通常,如果您希望项目不止一个项目,则应使用forEachfor循环或特定于库的方法对其进行迭代。使用forEach,您可以执行以下操作:

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

答案 1 :(得分:2)

提示:result.items是一个数组(JS中的括号[]意味着数组)。 Google - > javascript arrays

获取第一项的cid

result.items[0].cid

获取所有cid的数组:

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

或者如果你想对每件事做些什么:

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