Skip to content

intersectionBy

mapper 関数が返す値を基準に、2つの配列の共通部分を返します。

この関数は、パラメータとして2つの配列と mapper 関数を受け取ります。 mapper 関数で各配列の要素を変換したとき、両方の配列に含まれる要素からなる新しい配列を返します。 実際の実装を見ると、最初の配列と2番目の配列を mapper が返す値を基準に比較し、最初の配列の要素のうち2番目の配列にない要素を除去します。

インターフェース

typescript
function intersectionBy<T, U>(firstArr: T[], secondArr: T[], mapper: (item: T) => U): T[];

パラメータ

  • firstArr (T[]): 比較する最初の配列。
  • secondArr (T[]): 比較する2番目の配列。
  • mapper ((item: T) => U): 比較するために要素を新しい値に変換する関数。

戻り値

(T[]): 最初の配列と2番目の配列を mapper が返す値を基準に比較し、両方の配列に含まれる要素のみを含む新しい配列。

typescript
const array1 = [{ id: 1 }, { id: 2 }, { id: 3 }];
const array2 = [{ id: 2 }, { id: 4 }];
const mapper = item => item.id;
const result = intersectionBy(array1, array2, mapper);
// `mapper`で変換したとき、両方の配列に含まれる要素からなる [{ id: 2 }] 値が返されます。

MIT ライセンスの下で配布されています。