如何使用常量调用指定值?以Cookie配置调用场景为例
动态访问config对象属性的解决方案
你当前的问题是无法通过变量cookieinfo动态获取config中对应的Cookie值,原因是直接使用.语法访问对象属性时,会把cookieinfo当作固定属性名,而非变量对应的属性名。要实现需求,需要用JavaScript的方括号属性访问语法,同时还要处理字符串大小写匹配问题。
修正后的代码
// 拼接目标属性名,将result.bot的首字母转为大写以匹配config中的命名 const cookieinfo = "bot" + result.bot.charAt(0).toUpperCase() + result.bot.slice(1); const config = require('/Users/Owner/Downloads/RankBloxCode/config'); const bloxy = require('bloxy'); const robloxClient = new bloxy.Client({ credentials: { // 用方括号语法动态读取config中对应属性的值 cookie: config[cookieinfo] } }); // 输入示例 result.bot = "abc"; // 此时cookieinfo的值为"botABC",config[cookieinfo]等价于直接调用config.botABC
核心要点
- 方括号语法作用:
config[cookieinfo]会将cookieinfo变量的实际值作为属性名,去config对象中查找对应值,而非直接查找名为"cookieinfo"的属性。 - 大小写处理:通过
charAt(0).toUpperCase() + slice(1)把result.bot的首字母转为大写,确保拼接后的属性名和config中的botABC完全匹配。
内容的提问来源于stack exchange,提问作者Randomuser737373
相关产品推荐
相关产品推荐

