gpt4 book ai didi

javascript - 在两个 JSON 数组的条件下合并两个 JSON 对象

转载 作者:行者123 更新时间:2023-12-03 08:07:35 25 4
gpt4 key购买 nike

我在将两个 JSON 对象(每个对象都来自另一个数组)合并到新数组中的一个新 JSON 对象时遇到问题(合并必须在给定条件下发生)。

示例:

第一个数组:

var array1 = [{box:123,name:xxx,amount:xxx},{box:321,....},...]
var array2 = [{_id:123,look:xxx,title:myBox1},{_id:321,.....},...]
var newArray = [{box:123,name:xxx,amount:xxx,look:xxx,title:myBox1},...]

我基本上需要什么:迭代 Array1,迭代 Array2。如果 box (array1) == _id (array2) 将两个对象的所有属性合并到一个新的 JSON 中,并将其放入新 array3 中的第一个空闲槽中。

我希望这个例子有助于了解我正在尝试做的事情。最好的解决方案是什么?

通常情况下,两个数组中的第一个属性也是需要比较的属性,但是如果解决方案也可以工作,如果我想比较例如第一个数组中的第一个属性和第二个数组中的第三个属性。

希望有人能帮助我!

最佳答案

您可以通过两个循环来实现此目的。第一个循环遍历 array1 中存储的对象,第二个循环遍历 array2 中匹配对象的属性。试试这个:

var newArray = [];
for (var i = 0; i < array1.length; i++) {
var obj = array1[i];
if (array2[i] && obj.box == array2[i]._id) {
for (key in array2[i]) {
obj[key] = array2[i][key];
}
newArray.push(obj);
}
};

Example fiddle

关于javascript - 在两个 JSON 数组的条件下合并两个 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34313204/

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