删除带有拼接的 JSON 对象无处可去 - 那么我该如何删除一大块数据?

Removal of JSON Object with splice leads nowhere - How do i delete a chunk of data then?

首先,我想说 ** 我已经研究了一些与此相关的不同主题。** 如果不是 100 和几个 youtube 视频。

过去几个小时我一直卡在上面。

我有一个 .json 文件结构如下:

    {
        "PlayerData": [
            {
                "steamId": "76561193436459",
                "playerName": "x",
                "banReason": "x",
            }
    
        ]
    }

等等 - 你从数组中得到灵感。

我一直在摆弄不同种类的Javascript代码比如forEach() & (let i > 0 = bannedPlayerData.length i++) 类型的代码,以及尝试拼接方法来切割这个元素的一个对象。

我想要实现的是,根据您输入的 Steam ID - 它会删除该 Steam ID 周围的整个 block/object。

所以如果我在这种情况下为 steamid2

输入以下内容
765611934365823 

它应该会删除整个位。:

{
                "steamId": "765611934365823",
                "playerName": "f",
                "banReason": "f",
},

然而,在多次尝试使用 .splice(i, 1) 之后 - 我的 JSON 文件中没有任何变化。 我最近尝试的代码示例:

Test: async function (message, server, steamid2) {

    try {
        const data = fse.readJsonSync(serverSettings + "Bans.json")
        for (var i = 0; i < data.bannedPlayerData.length; i++) {
                //splice(i, 1)
        }
    } catch (error) {
        console.error(error)
    }
},

知道哪里出了问题吗?它进入 console.log 所在的位置 - 实际上它不会使用命令打印任何错误;我的 JSON 文件中没有简单的结构更改,没有发生任何更改。

我已经花了好几个小时寻找 npm 的替代方法来使用 splice,甚至是删除...但是这里我们讨论的是一个可能有数千个数据的文件(目前它是 3 个示例) ) - 我有点想避免删除 XXX 代码,因为听说删除后它会留下空格;这可能会导致损坏我的 JSON 文件。

我混合了 Lioness100 和 aRvi 的两个答案

正在做

data.bannedPlayerData.splice(data.bannedPlayerData.findIndex((u) => u.steamId === steamid2), 1)

Spliced/split 想要的数据。之后通过 fse.writeJsonSync 保存文件帮助我取得了预期的结果。

这两个答案都post编辑为对我的 post 的评论,而不是直接答案 - 因此我无法为它们都提供绿色复选标记。