Javascript 如何从discord.js中的集合图中获取数据

Javascript 如何从discord.js中的集合图中获取数据,javascript,node.js,npm,discord,discord.js,Javascript,Node.js,Npm,Discord,Discord.js,对于我的机器人在不和谐,我想一个!help命令,该命令循环遍历所有命令,获取名称,并以消息形式返回给用户。我创建了fs来循环我的/commands/文件夹: for (const file of commandFiles) { const command = require(`./commands/${file}`); client.extraCommands.set(command.name, command); } console.log(client.extraComma

对于我的机器人在不和谐,我想一个!help命令,该命令循环遍历所有命令,获取名称,并以消息形式返回给用户。我创建了fs来循环我的/commands/文件夹:

for (const file of commandFiles) {
    const command = require(`./commands/${file}`);
    client.extraCommands.set(command.name, command);
}

console.log(client.extraCommands);
返回如下所示的集合映射:(为简单起见进行了裁剪)

我只需要将每个命令的
名称
存储到一个数组中

我试着通过循环找到钥匙,但似乎不起作用


提前感谢您提供的任何帮助

看起来键名就是您的命令名,所以这应该可以解决问题


让keys=Array.from(client.extraCommands.keys());

两行代码将返回您想要的相同结果

[...client.extraCommands.keys()] //using map keys
[...client.extraCommands.values()].map(({name})=> name); // using key 'name' from each map value

所以,首先,我想我应该做一个循环,遍历所有文件并获得'name'属性。但是,
.keys()
返回映射内所有属性的数组

如果它是一个
映射
,你可以循环使用
for(client.extraCommands.keys()){/*将key添加到数组*/}
或者只使用
client.extraCommands.keys()
,因为它是一个迭代器,你从来没有说过你需要自己循环来获取密钥。
[...client.extraCommands.keys()] //using map keys
[...client.extraCommands.values()].map(({name})=> name); // using key 'name' from each map value