繁体   English   中英

如何将对象属性复制到其他对象,然后从数组中删除该对象?

[英]How to copy object property to other object and then remove this object from array?

如果对象名称相同,我想复制source属性,然后从数组中删除该对象。 我该如何实施?

const data = [
    {name: "name1", source: "source1"},
    {name: "name1", source: "source2"},
    {name: "name2", source: "source3"},
    {name: "name3", source: "source4"},
    {name: "name4", source: "source5"},
]

预期结果

[
  {name: "name1", source: "source1, source2"},
  {name: "name2", source: "source3"},
  {name: "name3", source: "source4"},
  {name: "name4", source: "source5"},
]

使用Array.prototype.reduce ,你可以按值name键值,并合并source相同的键值name键。

 const data = [ {name: "name1", source: "source1"}, {name: "name1", source: "source2"}, {name: "name2", source: "source3"}, {name: "name3", source: "source4"}, {name: "name4", source: "source5"}, ]; const groupBy = data.reduce((acc, cur) => { acc[cur.name] ? acc[cur.name].source += `,${cur.source}` : acc[cur.name] = cur; return acc; }, {}); const output = Object.values(groupBy); console.log(output);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM