gpt4 book ai didi

javascript - 如何通过键值合并两个Javascript对象

转载 作者:行者123 更新时间:2023-12-02 17:25:31 24 4
gpt4 key购买 nike

我需要通过键值映射合并两个 Javascript 对象。

这是我的第一个 Javascript 对象

var json1= [
{ ID: 1, limit: 5, name: "foo" },
{ ID: 2, limit: 9, name: "dog" }

];

这是我的第二个 Javascript 对象

 var json2 = [
{ ID: 2, validate: false, LastRunTime: "February" },
{ ID: 1, validate: true, LastRunTime: "January" }
];
$.extend(true, {}, json1, json2);

这给了我这样的结果 Javascript

[
{
{
ID: 2,
LastRunTime: "February",
limit: 5,
name: "foo",
validate: false
},
{
ID: 1,
LastRunTime: "January",
limit: 9,
name: "dog",
validate: true
}
}
]

但我正在寻找将 ID 映射为键的代码,然后像这样合并 Javascript 对象,而不管它们在数组中的顺序如何。

[
{
{
ID: 1,
LastRunTime: "January",
limit: 5,
name: "foo",
validate: true
},
{
ID: 2,
LastRunTime: "February",
limit: 9,
name: "dog",
validate: false
}
}
]

最佳答案

您需要切换数据表示形式。最好的方法是将 json 存储为:

var json1 = {
"1": { ID: 1, limit: 5, name: "foo" },
"2": { ID: 2, limit: 9, name: "dog" }
};

如果不可能,那么您可以即时转换数据:

var json1obj = {};
json1.forEach(function(obj) {
json1obj[obj.ID] = obj;
});
var json2obj = ...;

$.extend(true, {}, json1obj, json2obj);

关于javascript - 如何通过键值合并两个Javascript对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23534099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com