二つの連想配列を比較し、共通するvalueがある配列だけを摘出したいです。

前提

配列操作の勉強をしています。

実現したいこと

二つの連想配列を比較し、共通するvalueがある配列だけを摘出したいです。

該当のソースコード

const Array = [ { pageId: '1', tags: ['food', 'drink'] } { pageId: '2', tags: ['weather', 'nature'] } { pageId: '3', tags: ['house', 'building', 'shop'] } { pageId: '4', tags: ['food', 'all'] } ] const Tag = [ { tags: 'food', name: '食べ物' } { tags: 'animal', name: '動物' } { tags: 'car', name: '車' } ]

例えば上記のような二つの連想配列があったときに、
この二つを比較し、下記のように返ってきて欲しいです。
(配列Arrayに複数あるtagsのうち、一つでも配列Tagのtagsに含まれるものがあれば取得したいです。)

{ pageId: '1', tags: ['food', 'drink'] } pageId: '4', tags: ['food', 'all'] }

試したこと

下記のようにやってみたのですが、Arrayにtagが複数設定されているからか、希望の挙動をしませんでした。

const filtered = Array.filter((x) => Tag.includes(x.tags))

補足情報(FW/ツールのバージョンなど)

よろしくお願い致します。
説明がわかりにくくすみません。。。
どなたかお力添えいただけませんでしょうか?
よろしくお願い致します。

コメントを投稿

0 コメント