通过Snowflake数组Discord.js循环

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

数据如下所示:

'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文档,但我仍然不知道如何从集合中提取用户名数据。

任何帮助将是有益的。

       

网上收集的解决方案 "通过Snowflake数组Discord.js循环"

现在我看着discord.js API,我想你得到的东西是这样的(假设testing是你的公会对象):

 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'

意思是你的uservariables是null,这意味着test.members[u]是空的。 尝试先loggingtest.members ,看看它是否填充。

user.user.username

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