Javascript 为什么json文件会在末尾添加31

Javascript 为什么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

所以我的问题是,目前我正在尝试选择数组中的一个对象。我获取所选对象并将其更新后发送回。但目前它也将硬币放在json文件的末尾。我的问题是它在JSON文件的末尾添加了31

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;
}