gpt4 book ai didi

javascript - 合并两个 json 数组并推送项目值

转载 作者:行者123 更新时间:2023-12-03 11:45:42 26 4
gpt4 key购买 nike

我有以下 json 数组:

数组1:

fruits1 = [{"fruit":"banana","amount":"2","color":"yellow"},{"fruit":"apple","amount":"5","color":"red"},{"fruit":"kiwi","amount":"1","color":"green"}]

数组2:

fruits2 = [{"fruit":"banana","sold":"1","stock":"3"},{"fruit":"apple","sold":"3","stock":"5"},{"fruit":"kiwi","sold":"2","stock":"3"}]

我只想得到一个数组,它根据水果值合并结果,如下所示:

fruits = [{"fruit":"banana","amount":"2","color":"yellow","sold":"1","stock":"3"},{"fruit":"apple","amount":"5","color":"red","sold":"3","stock":"5"},{"fruit":"kiwi","amount":"1","color":"green","sold":"2","stock":"3"}]

我需要做类似的事情

    foreach item.fruit where fruit = fruit from initial array 
fruits.push item

有什么想法吗?

最佳答案

尝试这个逻辑:

 function merge_options(obj1,obj2){
var obj3 = {};
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
return obj3;
}


var obj1 = [];
for (var i = 0; i < fruits1.length ; i++) {
obj1[fruits1[i].fruit] = fruits1[i];
}

var obj2 = [];
for (var i = 0; i < fruits2.length ; i++) {
obj2[fruits2[i].fruit] = fruits2[i];
}

var fruits = []
for (var key in obj1) {
fruits.push(merge_options(obj1[key],obj2[key]));
}

console.log(fruits);

关于javascript - 合并两个 json 数组并推送项目值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26063760/

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