Javascript 为什么json文件会在末尾添加31
所以我的问题是,目前我正在尝试选择数组中的一个对象。我获取所选对象并将其更新后发送回。但目前它也将硬币放在json文件的末尾。我的问题是它在JSON文件的末尾添加了31Javascript 为什么json文件会在末尾添加31,javascript,arrays,Javascript,Arrays,所以我的问题是,目前我正在尝试选择数组中的一个对象。我获取所选对象并将其更新后发送回。但目前它也将硬币放在json文件的末尾。我的问题是它在JSON文件的末尾添加了31 fs.readFile('/root/discordbot/games/coins.txt', "utf8", (err, data) => { data = JSON.parse(data); for (var i = 0; i < data.leng
fs.readFile('/root/discordbot/games/coins.txt', "utf8", (err, data) => {
data = JSON.parse(data);
for (var i = 0; i < data.length; i++) {
if (data[i].id == message.member.id) {
data.push(data[i].coins += 31);
fs.writeFile('/root/discordbot/games/coins.txt', JSON.stringify(data));
message.reply("You got 31 coins.")
return;
}
}
})
最后的31号不应该在那里。它只需要将正确的硬币更新为id。试试这个
if (data[i].id == message.member.id) {
data[i].coins += 31;
fs.writeFile('/root/discordbot/games/coins.txt', JSON.stringify(data));
message.reply("You got 31 coins.")
return;
}
您还通过这行
data.push(data[i].coins+=31)将更新后的值推送到data
数组中代码>共享/root/discordbot/games/coins.txt此文件显示/root/discordbot/games/coins.txt,它是json文本。因为您将值31推入数组<代码>数据[i].coins+=31
这将是一些int值,而不是对象。是的,但是处理int而不是字符串不是更容易吗?你是什么意思?如果我的帐户更老,我会给你一个向上投票的机会。但是谢谢你帮我澄清这件事。它修好了it@FrederichPedersen不用担心,快乐编码:-),因为它需要加31,而不是将值设置为31@caramba硬币中应该有一些以前的值。他想把31加进去,而不是设置为31。@DevidasKadam你能帮我纠正这个错误吗(节点:24322)[DEP0013]弃用警告:不使用回调调用异步函数是弃用的```
if (data[i].id == message.member.id) {
data[i].coins += 31;
fs.writeFile('/root/discordbot/games/coins.txt', JSON.stringify(data));
message.reply("You got 31 coins.")
return;
}