Javascript TypeError:无法读取属性';会员人数';未定义的 var computers=newmap(); const mems=client.guilds.cache.get(“serverid”); mems.memberCount.forEach(成员=>{ computers.set(member.user.id,0); log(computers.get(member.user.id)); });

Javascript TypeError:无法读取属性';会员人数';未定义的 var computers=newmap(); const mems=client.guilds.cache.get(“serverid”); mems.memberCount.forEach(成员=>{ computers.set(member.user.id,0); log(computers.get(member.user.id)); });,javascript,node.js,bots,discord,discord.js,Javascript,Node.js,Bots,Discord,Discord.js,它发生在这一行: mems.memberCount.forEach(成员=>{ 我知道memberCount不正确,但我找不到正确的术语是什么不确定您想做什么,但这应该是正确的。 返回一个值,所以基本上你不能在它上面循环。从我看到的情况来看,你试图在一个数组中添加每个值为0的成员 您需要循环并将其添加到您创建的地图中 const computers=newmap(); const server=client.guilds.cache.get(“服务器id”); //如果找不到服务器,我们将返回

它发生在这一行:

mems.memberCount.forEach(成员=>{

我知道memberCount不正确,但我找不到正确的术语是什么

不确定您想做什么,但这应该是正确的。 返回一个值,所以基本上你不能在它上面循环。从我看到的情况来看,你试图在一个数组中添加每个值为0的成员

您需要循环并将其添加到您创建的地图中

const computers=newmap();
const server=client.guilds.cache.get(“服务器id”);
//如果找不到服务器,我们将返回。
如果(!server)返回;
forEach(member=>computers.set(member.id,0));
//或
map(member=>computers.set(member.id,0));
//现在你可以登录计算机,了解下一步你想用它做什么。
返回服务器中缓存成员的数目。您可以使用或从集合中获取成员


注意:集合扩展了映射

由于mems是未定义的,我想看看调用
client.guilds.cache.get(“serverid”)
实际上在做什么。
console.log(mems);
这是不可能回答的,因为我们不知道分配给mems的是什么,因此这些注释看起来毫无用处。像这样。
get()
可以返回帮会对象,也可以在缓存中没有具有该ID的帮会时返回
未定义的
。此外,如果在机器人登录之前尝试获取帮会,则始终会返回
未定义的
,例如,如果您的代码在任何事件侦听器之外,则会作为
客户端返回。帮会
不包含n创建时任何数据,但在成功登录时从Discord接收的数据中填充。我正在尝试制作一个映射,以便计算每个成员有多少台“计算机”