如何将数组存储在javascript文件中

Posted

技术标签:

【中文标题】如何将数组存储在javascript文件中【英文标题】:How to store an array in a javascript file 【发布时间】:2021-05-21 19:59:03 【问题描述】:

所以我正在使用 discord.js 并试图获取一个块命令来将其值存储在一个数组中。换句话说,当我做 /block 时,它会忽略那个人,但我希望它把它存储在一个文件中,以便在重新启动后保留。我当前的代码如下:

//at the top
var  blockedUsers  = require('./blocked.json')

//in the command listener
if (command == 'block') 
    let user = message.mentions.users.first();
    if (user && !blockedUsers.includes(user.id)) blockedUsers.push(user.id);
    message.channel.send(`blocked!`)

blocked.json:


"blockedUsers": []

这工作正常,但重新启动机器人后,阻止列表清除。我怎样才能让它存储在文件中,以便在重新启动后保留?

【问题讨论】:

使用 require,您可以访问 JSON 数据,而不是文件。尝试使用fs 库来编写您的 JSON 文件。查看此帖子:***.com/questions/36856232/… 【参考方案1】:

通过对 JSON 文件使用 require,您可以将文件内容评估为 javascript 对象,该对象独立于 JSON 源文件。

要在文件中持久化修改,请使用:

const fs = require('fs');

fs.writeFile("./blocked.json", JSON.stringify( blockedUsers ), function(err) 
    if(err) 
        return console.log(err);
    
    console.log("The file was saved!");
); 

【讨论】:

以上是关于如何将数组存储在javascript文件中的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript:如何将数据添加到 JSON 文件中的数组

如何使用 Java 将每个文件存储在 zip 存档中的数组中?

将 javascript 数组存储为服务器上的 csv 文件

使用 PHP 获取 SQL 数据,然后将数组发送到 Javascript

JavaScript 将搜索匹配存储在数组中

如何在 javascript 中读取对象文件列表数组?