discord.js将.json值导入变量

问题描述 投票:0回答:1

我将这些值作为一个非常基本的xp系统存储在.json中(我意识到损坏问题,喜欢在移至db之前先学习json)

"267752827723492576":{"xp":308,"level":1}, "267752827723492576":{"xp":308,"level":1}

我想将userid,xp和level导入变量,以便执行排行榜命令,我已经有了进行比较和排序的工作代码(如下)。 “用户”是包含json文件中我的数据的变量

var users = {
    "":{"xp":0,"level":0},
    "":{"xp":0,"level":0},
    "":{"xp":0,"level":0},
    "":{"xp":0,"level":0},
    "":{"xp":0,"level":0},
      };

          let board = Object.entries(users)
                        .map(([key, val]) => ({id: key, ...val}))
                        .sort((a, b) => b.xp- a.xp);

          console.log(board);

arrays variables discord.js var
1个回答
0
投票

帖子不清楚,但您只是不想导入json?

const users = require("path_to.json")

您也可以在fs.readFile旁边使用JSON.parse

也可以使用数组代替使用对象来存储数据

具有以下格式:(使用地图方法后为相同格式)

[{ id: "", xp: 200, level: 2}]

对于性能来说,它有起有落,实际上通过id来吸引用户可能更快,但是由于必须使用Object.entriesmap,所以它甚至可以平衡

如果您确实切换到数组,这是获取用户的方式

// ... just stands for data here, not the deconstructing or rest syntax
const json = [{...}, {...}];
const user = json.find(f => f.id === "the-id-here");
© www.soinside.com 2019 - 2024. All rights reserved.