【问题标题】:discord.js import .json values into variablediscord.js 将 .json 值导入变量
【发布时间】:2020-09-22 01:58:19
【问题描述】:

我将这些值作为一个非常基本的 xp 系统存储在 .json 中(我知道损坏问题,比如在迁移到 db 之前学习 json)

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

我想将用户 ID、xp 和级别导入到变量中,这样我就可以创建排行榜命令,我已经有了用于进行比较和排序的工作代码(如下)。 “用户”是包含我来自 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】:

    post不清楚,就是不想导入json?

    const users = require("path_to.json")

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

    除了使用对象来存储数据,您还可以使用数组

    使用这种格式:(使用 map 方法后的格式相同)

    [{ 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");
    

    【讨论】:

      猜你喜欢
      • 2021-08-24
      • 2019-03-10
      • 2016-04-22
      • 1970-01-01
      • 2021-06-17
      • 1970-01-01
      • 2012-12-20
      • 2015-10-19
      • 1970-01-01
      相关资源
      最近更新 更多