首页 > 解决方案 > 如何为多个用户存储信息

问题描述

我正在为朋友开发一个 DnD 不和谐机器人,我希望能够让玩家使用命令并输入他们的信息(例如角色的名字/姓氏、种族、班级等)

我尝试使用地图,但我对使用地图很陌生,无法弄清楚如何嵌套其他人和/或如何访问它。

我将如何完成这样的事情?

我研究过使用数组或列表,但不知道从哪里开始

所以我想可能像这样的 v 使用用户 ID 作为键,所以如果提到的用户或作者使用某个命令,它将检查一个是否已经制作,如果它正在做其他事情,如果没有生成类似的东西,他们可以填写信息

我也知道 map() 可以像这样嵌套,只是我真的不知道如何访问存储在键下方的信息,就像我希望有人使用像 !set character firstname 这样的命令并能够将他们的角色的名字放在一起。

每次我尝试这样做时,我总是得到一个错误,说 key.firstname.get() is not a function

{ 
 key: member.id { 
   firstname: 'Bob', 
   lastname: 'Doofensmurf', 
   race: 'human', 
   class: 'Rogue'
   // Etc.
 },
 key: another.member.id { 
   firstname: 'Jack', 
   lastname: 'Nickleson', 
   race: 'Elf', 
   class: 'Wizard'
   // Etc.
 }
}

标签: javascriptnode.jsnpmdiscord.js

解决方案


Your syntax is wrong. It should be like this:

let arrayname = [
    {
        key: member.id,
        firstname: 'Jack',
        lastname: 'Nickelsen',
        race: 'elf'
        // etc
    },
    {
        key: anothermember.id,
        firstname: 'Jack',
        lastname: 'beanstalk',
        race: 'elf'
        // etc
    }
];

Note that I changed the opening and closing brackets to [ and ] because it is now an array, not an object. And to access,

alert(arrayname[0].firstname);

It should show Jack.


推荐阅读