【发布时间】:2021-06-16 11:29:27
【问题描述】:
Map(1) {
undefined => Invite {
code: 'yX4F9sFzDT',
channel: TextChannel {
id: '768577451848368129',
type: 0,
client: [Client],
guild: [Guild],
name: 'invite-the-bot',
position: 12,
parentID: '768551919110324237',
permissionOverwrites: [Collection [Map]],
rateLimitPerUser: 0,
topic: null,
messages: [Collection [Map]],
lastMessageID: '814571396583129128',
lastPinTimestamp: null
}
}
代码:
export async function guildMemberAdd(client: IMClient, guild: Guild, member: Member): Promise<void> {
if (!client.loaded) return;
member.guild.getInvites().then(async (guildInvites) => {
const existingInvites = client.invites.get(member.guild.id);
console.log(existingInvites);
const newInvites: Map<string, Invite> = new Map();
guildInvites.forEach((i) => newInvites.set(i.id, i));
client.invites.set(member.guild.id, newInvites);
const invite = guildInvites.find((i) => {
const tempInvite = existingInvites?.get(i.code);
if (!tempInvite) return false;
else {
console.log(tempInvite);
return tempInvite && tempInvite.uses < i.uses;
}
});
嗨。
我目前正在尝试从此地图中获取code。通过循环 guildInvites.find 并尝试在此地图中查找 i.code。
但是,我得到了undefined 返回。我不确定为什么,任何指针将不胜感激。
【问题讨论】:
标签: javascript typescript dictionary