JavaScriptで連想配列に対して配列でfilterする方法

こんにちはhiro08です。

JavaScript連想配列に対して、配列のデータにマッチする値を取り出したい場面がありました。結果として連想配列に対してfilterをして、includesを使って配列にマッチするデータを取り出す方法で解決しました。そのときのメモです。

// 連想配列
const data = [
  {
    id: 1
  },
  {
    id: 2 
  },
  {
    id: 3 
  }
];

// 配列
const arrData = ["1", "2"];

// 配列にマッチするデータを検索
const filterData = data.filter((v) => arrData.includes(v.id));

console.log(filterData); // [ { id: 1 }, { id: 2 } ]