連想配列が入った配列が2つあり、idの重複を除いてマージする必要があります。
そのため、下記の通り処理しました。
typescript
1const member1 = [ 2 { id: 1, name: 'john' }, 3 { id: 2, name: 'paul' }, 4 { id: 3, name: 'george' }, 5 { id: 4, name: 'ringo' } 6]; 7 8const member2 = [ 9 { id: 1, name: 'john' }, 10 { id: 5, name: 'mick' }, 11 { id: 6, name: 'jimi' }, 12 { id: 7, name: 'mike' } 13]; 14 15const mergedMembers = member1.concat(member2); 16const result = [...mergedMembers] 17 .filter((member, index, self) => self.findIndex(s => member.id === s.id) === index); 18console.log(result);
他のアプローチがあれば、ご教授いただけますと幸いです。
(なるべくスマートな方法が嬉しいです)
追記
出力結果について
出力結果の配列の順序にこだわりはありません。
改善したいポイント
ワンライナーで処理したことによって可読性がやや低く感じるので、これを改善したい。
回答7件
あなたの回答
tips
プレビュー