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