gpt4 book ai didi

Javascript 用另一个对象更新对象

转载 作者:行者123 更新时间:2023-11-28 15:27:04 25 4
gpt4 key购买 nike

我有两个对象,第一个:

prods = [
{
'id':1,
'category_ID' : 26,
'name':'prod1',
'descripcion' : 'sadasdsad',
},
{
'id':2,
'category_ID' : 26,
'name':'prod2',
'descripcion' : '21312d',
},
{
'id':3,
'category_ID' : 6,
'name':'prod3',
'descripcion' : 'ergrd',
},
{
'id':4,
'category_ID' : 12,
'name':'prod4',
'descripcion' : 'wwwwwwww',
}

]

第二个元素随机排序

orders = [
{
'id':2,
'category_ID' : 26,
'name':'producto2',
'descripcion' : '21312d',
'units': 1,
'isSelected' : 1
},
{
'id':4,
'category_ID' : 12,
'name':'producto4',
'descripcion' : 'wwwwwwww',
'units': 21,
'isSelected' : 1
},
{
'id':1,
'category_ID' : 26,
'name':'producto1',
'descripcion' : 'sadasdsad',
'units': 34,
'isSelected' : 1
}

]

我正在尝试使用第二个匹配 id 的元素更新第一个对象的元素并添加新的属性,因此结果将是

prods = [
{
'id':1,
'category_ID' : 26,
'name':'prod1',
'descripcion' : 'sadasdsad',
'units': 34,
'isSelected' : 1
},
{
'id':2,
'category_ID' : 26,
'name':'prod2',
'descripcion' : '21312d',
'units': 1,
'isSelected' : 1
},
{
'id':3,
'category_ID' : 6,
'name':'prod3',
'descripcion' : 'ergrd',
},
{
'id':4,
'category_ID' : 12,
'name':'prod4',
'descripcion' : 'wwwwwwww',
'units': 21,
'isSelected' : 1
}

]

我在循环的海洋中感到头晕...没有结果...有任何线索吗?

最佳答案

尝试这样的事情:

function merge(products, orders){

for(var i = 0; i < products.length; i++){
var prod = products[i];
for(var j = 0; j < orders.length; j++){
var order = orders[j];
if(order.id == prod.id){
for(var key in order){
prod[key] = order[key];
}
}
}
}
}

然后您可以像这样使用该函数;

merge(prods, orders);

关于Javascript 用另一个对象更新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28630480/

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