如何为多个用户存储信息

Posted

技术标签:

【中文标题】如何为多个用户存储信息【英文标题】:How to store info for multiple users 【发布时间】:2021-02-26 15:10:28 【问题描述】:

我正在为朋友开发 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.
 

【问题讨论】:

【参考方案1】:

您的语法错误。应该是这样的:

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

请注意,我将左括号和右括号更改为 [ 和 ],因为它现在是一个数组,而不是一个对象。并访问,

alert(arrayname[0].firstname);

它应该显示 Jack。

【讨论】:

好吧,我试试看! 实际上我希望能够访问特定用户的角色信息,我可以这样做吗? 您的问题必须更具体。我只能猜测你真正想做什么。但是可以使用它获取任何信息。例如:let characters = [ name: "mike", race: "elf" , name: "legolas", race: "elf" , name: "john", race: "human" , name: "paulo", race: "human" ]; alert(characters.filter(char => char.race == "human")); 警报将为您提供列表中的所有人员。我建议您阅读有关 javascript 对象和数组的教程。互联网上有成千上万的教程。

以上是关于如何为多个用户存储信息的主要内容,如果未能解决你的问题,请参考以下文章

如何为单个模型保存多个单独的记录

如何为不同的用户维护不同的编译库?

如何为多个选项卡/窗口运行工具栏的单个实例

如何为后退按钮保留 Web 表单内容

如何为多个用户配置 phpMyAdmin - 每个用户只能访问他们的数据库

如何为拥有多个设备的用户管理 APN 令牌?