簡體   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