如何为多个用户存储信息
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 对象和数组的教程。互联网上有成千上万的教程。以上是关于如何为多个用户存储信息的主要内容,如果未能解决你的问题,请参考以下文章