はじめに
この実験では、与えられた関数を使ってオブジェクトの値をマッピングする JavaScript プログラミングの演習を行います。この演習の目的は、Object.keys() と Array.prototype.reduce() を使って同じキーとマッピングされた値を持つ新しいオブジェクトを作成する方法をより深く理解することです。この実験が終わるとき、あなたはこの知識を自分のプロジェクトでより複雑な問題を解決するために適用できるようになります。
オブジェクトの値をマッピングする関数
与えられた関数を使ってオブジェクトの値をマッピングし、同じキーを持つ新しいオブジェクトを生成するには、次の手順に従います。
- ターミナル/SSH を開き、コーディングの練習を始めるために
nodeと入力します。 Object.keys()を使ってオブジェクトのキーを反復処理します。Array.prototype.reduce()を使って、与えられた関数fnを使って同じキーとマッピングされた値を持つ新しいオブジェクトを作成します。- 以下のコードは、
mapValues関数の実装を示しています。
const mapValues = (obj, fn) =>
Object.keys(obj).reduce((acc, k) => {
acc[k] = fn(obj[k], k, obj);
return acc;
}, {});
ここに mapValues 関数の使用例があります。
const users = {
fred: { user: "fred", age: 40 },
pebbles: { user: "pebbles", age: 1 }
};
mapValues(users, (u) => u.age); // { fred: 40, pebbles: 1 }
まとめ
おめでとうございます!あなたはオブジェクトの値をマッピングする実験を完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を練習することができます。