[英]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.