Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Discord.js在库存项目之间放置空间_Node.js_Discord.js_Quick.db - Fatal编程技术网

Node.js Discord.js在库存项目之间放置空间

Node.js Discord.js在库存项目之间放置空间,node.js,discord.js,quick.db,Node.js,Discord.js,Quick.db,我正在使用quick.db,我希望每个项目之间有一点空间,因为如果用户购买了两个项目,这些项目会像“item1,item2”一样彼此相邻,有没有办法在它们之间留出空间 库存命令的代码 let hats=db.get(`${message.author.id}.userHats`) 如果(hats==未定义)hats=“无” 让oughts=db.get(`${message.author.id}.useroughts`) 如果(装备===未定义)装备=“无” 让pets=db.get(`${me

我正在使用quick.db,我希望每个项目之间有一点空间,因为如果用户购买了两个项目,这些项目会像“item1,item2”一样彼此相邻,有没有办法在它们之间留出空间

库存命令的代码

let hats=db.get(`${message.author.id}.userHats`)
如果(hats==未定义)hats=“无”
让oughts=db.get(`${message.author.id}.useroughts`)
如果(装备===未定义)装备=“无”
让pets=db.get(`${message.author.id}.userPets`)
如果(pets==未定义)pets=“无”
const embed=new Discord.MessageEmbed()
.setTitle(`${message.author.tag}的目录`)
.addField(`Hats`、`${Hats}`| |“无”)
.addField(`oughts`、`${oughts}`| |“无”)
.addField(`Pets`、`${Pets}`| |“无”)
.setTimestamp()文件
.setColor(“#00ffff”)
.setFooter(message.member.user.tag,message.author.avatarURL());
message.channel.send(嵌入)
如何将项目推送到“userHats”

db.push(`${message.author.id}.userHats`,args[1])
args[1]
是项目名称

在inv命令中的项目之间放置空间是否需要不同的存储方式

编辑:我将数据存储在sqlite文件中,如下所示:

{
  balance: 2558,
  bank: 1898,
  skin: 'cyan',
  userHats: [ 'plaguedoctor', 'egg' ]
}
我试图使用
.join()
找到它,并给出错误“TypeError:oughts.join不是一个函数”,因为“oughts”用户没有它,他有一个“hats”删除“oughts”和“pets”使命令工作,因为他只有hats,有没有办法让它忽略空的或未定义的?我尝试了
if(oughts==undefined)oughts=“none”
,但它似乎不起作用,并给出了相同的错误 更新代码:

let hats=db.get(`${message.author.id}.userHats`)
如果(hats==未定义)hats=“无”
让hats2=hats.join(“,”)
让oughts=db.get(`${message.author.id}.useroughts`)
如果(装备===未定义)装备=“无”
让装备2=装备。加入(“,”)
让pets=db.get(`${message.author.id}.userPets`)
如果(pets==未定义)pets=“无”
让pets2=pets.join(“,”)

如果项目存储为数组,例如:

outfits = [ outfit1, outfit2]
然后,您可以使用
装备。join(',')
在每个装备之间加入一个

或者,如果数据库将其存储为字符串,则只需执行以下操作:

outfits.replace(',', ', ')
这将用
替换字符串中
的第一个实例。 但是,由于可能有许多项,您可能希望使用正则表达式替换逗号的所有实例,因此看起来像:

outfits.replace(/,/g, ', ')

无论采用哪种方式,都不必担心重新构造所有数据,因为有多种方法可以使其按您希望的方式显示

如果项目存储为数组,例如:

outfits = [ outfit1, outfit2]
然后,您可以使用
装备。join(',')
在每个装备之间加入一个

或者,如果数据库将其存储为字符串,则只需执行以下操作:

outfits.replace(',', ', ')
这将用
替换字符串中
的第一个实例。 但是,由于可能有许多项,您可能希望使用正则表达式替换逗号的所有实例,因此看起来像:

outfits.replace(/,/g, ', ')

无论采用哪种方式,都不必担心重新构造所有数据,因为有多种方法可以使其按您希望的方式显示

试过他们给我的三个错误“Outfights.replace不是函数”和“Outfights.join不是函数”对于join()一个,我还用数据存储方式编辑了我的问题他们给我的三个错误“Outfights.replace不是函数”和“Outfights.join不是函数”对于join()一个,我还用数据存储的方式编辑了我的问题