はじめに
この実験では、手を動かしながら JavaScript のプログラミング概念を探求します。この実験は、関数、配列、オブジェクト、ループなどの JavaScript のコア概念をしっかりと理解するのに役立つように設計されています。一連のチャレンジとプロジェクトを通じて、参加者は学んだことを適用し、JavaScript 開発者としての自信を築く機会を得ます。
提供されたマッピング関数を使って配列を結合する関数
コーディングを始めるには、ターミナル/SSH を開き、node と入力します。
この関数は、2 つの入力配列のそれぞれに対して提供されたマッピング関数を適用した後、どちらかの配列に存在する要素の配列を返します。
これを達成する手順は以下の通りです。
- 最初の入力配列
aのすべての値にマッピング関数を適用することで新しいSetを作成します。 - マッピング関数を適用したときに、先に作成した
Setの値と一致しないbのすべての要素からなる別のSetを作成します。 - 2 つのセットを結合し、配列に変換します。
- 結果の配列を返します。
以下は unionBy 関数のコードです。
const unionBy = (a, b, fn) => {
const setA = new Set(a.map(fn));
return Array.from(new Set([...a, ...b.filter((x) => !setA.has(fn(x)))]));
};
unionBy 関数の使い方の例をいくつか示します。
unionBy([2.1], [1.2, 2.3], Math.floor); // 出力:[2.1, 1.2]
unionBy([{ id: 1 }, { id: 2 }], [{ id: 2 }, { id: 3 }], (x) => x.id);
// 出力:[{ id: 1 }, { id: 2 }, { id: 3 }]
まとめ
おめでとうございます!あなたはマッピングされた配列のユニオンの実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習することができます。