为了账号安全,请及时绑定邮箱和手机立即绑定

将两个对象合二为一,更新键

将两个对象合二为一,更新键

翻过高山走不出你 2023-11-12 22:17:36
如何连接两个数组,更新“qty”键而不重复“title”键?例子:对象1obj1 = [{    id: 0,    qty: 1,    title: "HEINEKEN0 350ML"}]对象2obj2 = [    {        id: 0,        qty: 5,        title: "HEINEKEN0 350ML"    },    {        id: 1,        qty: 1,        title: "HEINEKEN0 600ML"    }];我需要的输出:output = [    {        id: 0,        qty: 6,        title: "HEINEKEN0 350ML"    },    {        id: 1,        qty: 1,        title: "HEINEKEN0 600ML"    } ];
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

您可以将两个数组连接在一起并Array#reduce与一个对象一起使用来存储每个标题的值。


const obj1 = [{

    id: 0,

    qty: 1,

    title: "HEINEKEN0 350ML"

}],

obj2 = [{

    id: 0,

    qty: 5,

    title: "HEINEKEN0 350ML"

},

{

    id: 1,

    qty: 1,

    title: "HEINEKEN0 600ML"

}];

const res = Object.values([...obj1, ...obj2].reduce((acc,{title,qty,id})=>{

  (acc[title] = acc[title] || {id,qty: 0,title}).qty += qty;

  return acc;

}, {}));

console.log(res);


查看完整回答
反对 回复 2023-11-12
  • 1 回答
  • 0 关注
  • 101 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信