関数に基づく配列の共通部分

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、JavaScript にて提供された比較関数に基づいて配列の共通部分の概念を探ります。この実験の目的は、2 つの配列間の共通する値を見つけるために Array.prototype.filter()Array.prototype.findIndex() をどのように使用するかを学ばせることです。この実験が終了するまでに、この技術を独自のプロジェクトに適用し、JavaScript のプログラミングスキルを向上させることができるようになります。

JavaScript を使って関数に基づいて配列の共通部分を見つける方法

提供された比較関数に基づいて両方の配列に存在する要素を見つけるには、次の手順に従います。

  1. ターミナル/SSH を開き、コーディングを練習するために node と入力します。

  2. 提供された比較関数と組み合わせて Array.prototype.filter()Array.prototype.findIndex() を使用して、共通する値を決定します。

    const intersectionWith = (a, b, comp) =>
      a.filter((x) => b.findIndex((y) => comp(x, y)) !== -1);
    
  3. intersectionWith() 関数に 2 つの配列と比較関数を引数として渡します。

    intersectionWith(
      [1, 1.2, 1.5, 3, 0],
      [1.9, 3, 0, 3.9],
      (a, b) => Math.round(a) === Math.round(b)
    ); // [1.5, 3, 0]
    

これにより、提供された比較関数に基づいて、2 つの配列間の共通する値を含む配列が返されます。

まとめ

おめでとうございます!関数に基づく配列の共通部分の実験を完了しました。スキルを向上させるために、LabEx でさらに実験を行って練習してください。