【发布时间】:2018-03-24 22:51:55
【问题描述】:
大家好,我是 node 和 js 的新手 - 试图为一个小的不和谐频道制作一个小机器人,我有点碰壁,找不到解决方案。
我正在尝试存储用户输入数据并稍后调用。到目前为止,我已经将数据存储为 json 文件。
data[user_id] = value_set
var out_data = JSON.stringify(data);
fs.writeFile('users.json', out_data);
看起来像这样:
{"35978432146597841":"String.1","32146879124653147":"String.2"}
现在我想稍后根据用户的 id 调用 String.X 值。这就是我卡住的地方。我想我需要读取 json 文件并将其传输到数组中。
我想我成功地将它做成了一个数组:
var in_data = fs.readFileSync('users.json');
var data = JSON.parse(in_data);
var arr = []
for(var i in data){
arr.push([i, data [i]]);}
作为... 控制台.log(arr[1]);
显示: ['32146879124653147','String.2']
但我不知道如何通过用户的 id (user_id) 搜索该数组以定位索引然后拆分值,或者更好地只是提取值。
我试图通过 user_id 找到“String.X”的一切都失败了。 那么如果我只知道'32146879124653147',我需要做什么来拉'String.2'。
任何帮助将不胜感激。谢谢。
解决方案
var fs = require("fs");
var in_data = fs.readFileSync('users.json');
var data = JSON.parse(in_data);
var arr = [];
for(var i in data){
arr.push({
User:i,
Input:data [i]
});
}
var value = arr.find(x => x.User === id);
var f_value = value.Input;
console.log(f_value);
或
const userfile = require("./users.json");
var f_value = userfile[userID];
【问题讨论】:
标签: arrays node.js search find contains