【问题标题】:How do i make a json merger based on non unique keys?如何基于非唯一键进行 json 合并?
【发布时间】:2021-03-26 23:36:31
【问题描述】:

我正在开发一个带有日历的反应原生应用程序,该应用程序使用日期作为 JSON 中的键。 所以我想将对象添加到 JSON 文件中。

这是我拥有的基本 JSON 文件

[{"2021-03-22":[{"name":"test2"},{"name":"test2"}],"2021-03-23":[{"name":"test3"}]}]

我想做的就是添加

{"2021-03-23":[{"name":"test4"}]}

目标是

[{"2021-03-22":[{"name":"test2"},{"name":"test2"}],"2021-03-23":[{"name":"test3"},{"name":"test4"}]}]

如果我添加

{"2021-03-24":[{"name":"test4"}]}

会过去的

[{"2021-03-22":[{"name":"test2"},{"name":"test2"}],"2021-03-23":[{"name":"test3"}],"2021-03-24":[{"name":"test4"}]}]

--sry 如果代码 JSON 有点错误,但我希望它有意义。

【问题讨论】:

  • 它看起来像一个预订应用程序。有日期键槽,并且唯一的人被添加到其中一个槽中。如果家伙已经在 23 号槽,并且他将自己添加到 24 号槽中,则需要将他从 23 号槽中删除。

标签: javascript arrays json reactjs react-native


【解决方案1】:

我无法理解你的逻辑。但我希望这段代码可以帮助你构建自己的逻辑。

let arrayTest  = [{"2021-03-22":[{"name":"test2"},
                                 {"name":"test2"}],
                   "2021-03-23":[{"name":"test3"}]
                }]


const keyParam = "2021-03-23";

Object.entries(arrayTest[0]).forEach(([key]) => {
    if(key === keyParam){
        arrayTest[0][key].push({"name":"test4"})
    }
});

 console.log(arrayTest);

【讨论】:

    猜你喜欢
    • 2017-08-29
    • 2015-04-03
    • 2015-05-28
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    • 2015-02-13
    • 2020-04-24
    • 2022-12-24
    相关资源
    最近更新 更多