はじめに
この実験では、JavaScript における配列のマッピングとリデュースの概念を探ります。具体的には、提供された関数を使って各要素を値にマッピングした後、averageBy() 関数を使って配列の平均を計算する方法を学びます。実践的な演習と例を通じて、これらの強力な配列メソッドとそれらがコードを効率化する方法について、より深い理解を得ます。
マッピングされた配列の平均を計算するための指示
配列の平均を計算するには、提供された関数を使って各要素を新しい値にマッピングできます。以下が手順です。
- ターミナル/SSH を開き、コーディングを練習するために
nodeと入力します。 Array.prototype.map()を使って各要素をfnが返す値にマッピングします。Array.prototype.reduce()を使って、初期値が0の累積器に各マッピングされた値を追加します。- 得られた配列をその長さで割って平均を求めます。
以下が使えるコードです。
const averageBy = (arr, fn) =>
arr
.map(typeof fn === "function" ? fn : (val) => val[fn])
.reduce((acc, val) => acc + val, 0) / arr.length;
この関数を以下の例を使ってテストできます。
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], (o) => o.n); // 5
averageBy([{ n: 4 }, { n: 2 }, { n: 8 }, { n: 6 }], "n"); // 5
まとめ
おめでとうございます!あなたはマッピングされた配列の平均の実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに実験を練習できます。