はじめに
この実験では、与えられたマッピング関数に基づいて配列内のすべての要素が一意であるかどうかをチェックする JavaScript のプログラミング概念について掘り下げます。この実験では、Array.prototype.map() と Set を使用して一意の値を効率的にチェックし、それらを元の配列と比較する方法を示します。この実験が終了するまでに、JavaScript プロジェクトでこのロジックを実装する方法を十分に理解しているようになります。
関数を使って配列内のすべての要素が一意であるかどうかをチェックする
与えられたマッピング関数に基づいて配列内のすべての要素が一意であるかどうかをチェックするには、次の手順に従います。
- ターミナル/SSH を開き、コーディングを練習するために
nodeと入力します。 Array.prototype.map()メソッドを使用して、与えられた関数fnをarr配列のすべての要素に適用します。- マッピングされた値から新しい
Setを作成して、一意の出現のみを保持します。 Array.prototype.lengthとSet.prototype.sizeメソッドを使用して、一意のマッピングされた値の長さと元の配列の長さを比較します。
以下がコードです。
const allUniqueBy = (arr, fn) => arr.length === new Set(arr.map(fn)).size;
配列内のすべての要素が一意であるかどうかをチェックするために、allUniqueBy() 関数を使用できます。たとえば:
allUniqueBy([1.2, 2.4, 2.9], Math.round); // true
allUniqueBy([1.2, 2.3, 2.4], Math.round); // false
まとめ
おめでとうございます!関数に基づいて配列のすべての要素が一意であるかどうかをチェックする実験を完了しました。スキルを向上させるために、LabEx でさらに多くの実験を行うことができます。