【问题标题】:Getting a value in a .json file using a constant to represent the value's name使用常量在 .json 文件中获取值来表示值的名称
【发布时间】:2020-07-19 14:58:50
【问题描述】:

我正在制作一个不和谐的机器人,我有一个名为 config.json 的配置文件,如下所示:

{
    "token":"TokenPlaceholder",
    "prefix":"a.",
    "devPrefix":"+."
}

在我的主 index.js 文件中,我有这段代码可以从不同的命令文件中动态获取前缀类型:

const commandPrefixType = botClient.commands.get(commandName).prefixType;

我需要这样的 config.json: const CONFIG = require('./config.json');

常量commandPrefixType 的值将是prefixdevPrefix。如何使用此常量从 config.json 动态获取所述 prefixType 的值?

例如,如果命令的prefixType值为'devPrefix',那么我怎样才能得到值'+.'不使用 if/else 或 switch 块? (我希望它是动态的,因为我计划在未来添加更多前缀)。

谢谢

【问题讨论】:

  • 使用索引器 -> CONFIG[commandPrefixType]
  • 谢谢,这仅适用于 .json 文件吗?
  • 不,这是标准的 JavaScript,你可以在任何 JS 对象上使用它。

标签: javascript node.js discord.js


【解决方案1】:

我认为解决您的问题的最佳方法是使用括号 ([]) 访问您的对象值:

const CONFIG = require('./config.json');
const commandPrefixType = botClient.commands.get(commandName).prefixType;

// Access to the prefix
const commandPrefix = CONFIG[commandPrefixType];
console.log(commandPrefix)

希望这会有所帮助!

【讨论】:

  • 谢谢!我发现它也可以像这样完成(并且更容易):const commandPrefix = CONFIG[botClient.commands.get(commandName).prefixType];
猜你喜欢
  • 1970-01-01
  • 2016-02-02
  • 1970-01-01
  • 2020-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多