繁体   English   中英

循环雪花阵列

[英]Loop through Snowflake array

我正在寻找一种从这个Collection中获取数据的方法。

数据看起来像:

  '0000000' => GuildMember {
  guild:
   Guild {
     members: [Object],
     id: '000000',
     name: 'Zombie',
     _rawVoiceStates: [Object] },
  user:
   User {
     id: '0000000',
     username: 'Orc',
  _roles: [ '0000' ],
  nickname: 'Orc',
  joinedTimestamp: 00000,
  lastMessageID: null },

  '0000000' => GuildMember {
  guild:
   Guild {
     members: [Object],
     id: '000000',
     name: 'Zombie',
     _rawVoiceStates: [Object] },
  user:
   User {
     id: '0000001',
     username: 'Orc1',
  _roles: [ '0000' ],
  nickname: 'Orc',
  joinedTimestamp: 00000,
  lastMessageID: null },
  _array: null,
  _keyArray: null }

我目前的循环是:

var user;
for(var u in test.members){
   user = test.members[u];
    console.log("["+u+"] "+user.username);
}

它目前踢回一个TypeError: Cannot read property 'user' of null

我最初认为这个数据是一个数组,但它不是根据Discord.js文档,但我仍然不确定如何从集合中提取用户名数据。

任何帮助都会有所帮助。

现在我查看了discord.js API,我认为你得到的东西是这样的(假设测试是你的公会对象):

test.members.forEach(function(guildMember, guildMemberId) {
   console.log(guildMemberId, guildMember.user.username);
})

如果这不起作用,请尝试以下方面:

var membersArray = test.members.array();

for(var guildMemberId in membersArray) {
   console.log(guildMemberId, membersArray[guildMemberId].user.username);
}

TypeError:无法读取null的属性“user”

表示您的user变量为null,这意味着test.members[u]为null。 尝试首先记录test.members并查看它是否已填满。

user.user.username

可能是错的。 看起来它应该只是user.username

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM