前提
配列操作の勉強をしています。
実現したいこと
二つの連想配列を比較し、共通する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 コメント