node.js - Discord.js 在库存项目之间放置空间
问题描述
我正在使用 quick.db 我想在每个项目之间留一点空间,因为如果用户购买了两个项目,这些项目会像“item1,item2”一样彼此相邻有没有办法在它们之间放置空间?
库存命令的代码
let hats = db.get(`${message.author.id}.userHats`)
if(hats === undefined) hats = "none"
let outfits = db.get(`${message.author.id}.userOutfits`)
if(outfits === undefined) outfits = "none"
let pets = db.get(`${message.author.id}.userPets`)
if(pets === undefined) pets = "none"
const embed = new Discord.MessageEmbed()
.setTitle(`${message.author.tag}\'s inventory`)
.addField(`Hats`, `${hats}` || "none")
.addField(`Outfits`, `${outfits}` || "none")
.addField(`Pets`, `${pets}` || "none")
.setTimestamp()
.setColor('#00ffff')
.setFooter(message.member.user.tag, message.author.avatarURL());
message.channel.send(embed)
我如何将项目推入“userHats”
db.push(`${message.author.id}.userHats`, args[1])
这args[1]
是项目名称
在 inv 命令中的项目之间放置空格是否需要不同的存储方式?
编辑:我将数据存储在 sqlite 文件中,如下所示:
{
balance: 2558,
bank: 1898,
skin: 'cyan',
userHats: [ 'plaguedoctor', 'egg' ]
}
我尝试使用.join()
并找到它并给出错误“TypeError:outfits.join is not a function”,因为“outfits”用户没有任何它,他有“帽子”删除“outfits”和“ pets" 使命令有效,因为他只有帽子,有没有办法让它忽略空的或未定义的?我试过if(outfits === undefined) outfits = "none"
了,但它似乎没有工作,并给出了相同的错误更新代码:
let hats = db.get(`${message.author.id}.userHats`)
if(hats === undefined) hats = "none"
let hats2 = hats.join(", ")
let outfits = db.get(`${message.author.id}.userOutfits`)
if(outfits === undefined) outfits = "none"
let outfits2 = outfits.join(", ")
let pets = db.get(`${message.author.id}.userPets`)
if(pets === undefined) pets = "none"
let pets2 = pets.join(", ")
解决方案
如果项目存储为数组,例如:
outfits = [ outfit1, outfit2]
然后您可以使用在每个项目之间outfits.join(', ')
加入数组的项目。,
或者,如果您的数据库将其存储为字符串,您可以这样做:
outfits.replace(',', ', ')
,
这会将字符串中的第一个实例替换为,
. 但是,由于可能有很多项目,您将希望使用正则表达式来替换逗号的所有实例,因此它看起来像:
outfits.replace(/,/g, ', ')
无论哪种方式,都无需担心重组所有数据,因为有办法让它以您想要的方式显示!
推荐阅读
- valgrind - 在 CLion 上使用 Valgrind 和 WSL 时遇到问题
- .net - 是否可以在 WPF 中渲染子级?
- android - Firestore 规则在操场上有效,但不适用于外部请求
- ruby-on-rails - 有没有更好的方法有条件地允许用户使用 ruby on rails 使用“用户名”或“电子邮件”登录?
- django - 在 DRF POST 请求中分配外键
- dompdf - 如何在 PHP 中将 HTML 转换为 PDF 时添加外部 CSS
- javascript - React(JS) UI 与状态不匹配
- python - 具有两个密钥的 Python 凯撒密码
- javascript - javascript插件中的链接不起作用
- ruby-on-rails - 运行迁移时对 Rails 应用程序 ActiveRecord::NoEnvironmentInSchemaError 进行 Dockerizing