我有一个配置文件(leaderboard.json),如下所示:
{
"usercount<@386679122614681600>": 0
}
我试图在我的index.js文件中读取该变量的值(因此它将为0),如下所示:
var LEADERBOARD = require('./leaderboard.json');
const usercount = 'usercount'+user
var countvalue = LEADERBOARD.usercount
console.log(countvalue)
我本质上想让countvalue返回0,但是我不能简单地使用LEADERBOARD.usercount <@ 386679122614681600>,因为该名称将会更改。
基本上,我想知道是否存在一种解决方法,可以使用我创建的字符串读取配置文件变量。
答案 0 :(得分:-1)
您需要为此使用bracket notation。
var countvalue = LEADERBOARD[usercount]
这是一个例子:
const foo = {
bar123: 'baz'
}
const prop = 'bar' + 123
console.log(foo[prop])
答案 1 :(得分:-1)
使用[]
表示法。
因为.
表示法属性必须是有效的JS标识符Read here。
属性必须是有效的JavaScript标识符,即,字母数字字符序列,还包括不能以数字开头的下划线(“ _”)和美元符号(“ $”)。例如,object。$ 1有效,而object.1无效。
let obj = {
"usercount<@386679122614681600>": 0
}
const count = `386679122614681600`;
const useCount = `usercount<@${count}>`;
console.log(obj[useCount])
答案 2 :(得分:-1)
使用您创建的字符串,您可以返回用户帐户的值。
const LEADERBOARD = {
"usercount<@386679122614681600>": 0
}
// String you create
const userId = '386679122614681600'
const userCount = `usercount<@${userId}>`
console.log(LEADERBOARD[userCount]) // 0
答案 3 :(得分:-1)
如果您知道仅访问第一个元素,此答案将为您提供帮助!对此没有更多信息,所以我认为这是一个潜在的答案:
您可以使用Object.keys将值放入数组格式,然后使用[0]访问第一个值,它将返回0值。
check
我真的希望这会有所帮助。如果这不是您的要求,请告诉我。