簡體   English   中英

將對象數組合並為按屬性值匹配的數組

[英]Merge Object Array into Array matched by property value

我正在嘗試通過鍵 (id) 將數組合並到現有數組。 有什么簡單的方法可以做到這一點嗎?

例如:

people = [{id: 1, name: 'John Doe'}, {id: 2, name: 'Jane Doe'}];
places = [{id: 1, state: 'CA'}, {id: 2, state: 'AK'}];

// expected output I want is
result = [{id: 1, name: 'John Doe', places: {id: 1, state: 'CA'}}, {id: 2, name: 'Jane Doe', places: {id: 2, state: 'AK}'}}];

我怎樣才能讓地方屬性 id 映射到人的 id 中,所以基本上 ID 匹配並且他們的鑰匙被攜帶?

這是實現場景的JS方法:

 const people = [{id: 1, name: 'John Doe'}, {id: 2, name: 'Jane Doe'}]; const places = [{id: 1, state: 'CA'}, {id: 2, state: 'AK'}]; const result = people.map(ppl => { ppl.places = places.find(plc => plc.id === ppl.id) return ppl; }) console.log(result) // ES6 way let res = people.map(obj => { let data = places.find(item => item.id === obj.id); return {...obj, places: data} }); console.log('ES6 way ......',res)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM