はじめに
この実験では、提供されたマッピング関数を使用してオブジェクト配列をオブジェクトにマッピングする方法を探ります。配列をマッピングするために Array.prototype.reduce() メソッドを使用し、結果のオブジェクトのキーと値をそれぞれマッピングするために mapKey 関数と mapValue 関数を使用します。この実験が終了するまでに、JavaScript でデータ構造を変換する方法をより深く理解するようになります。
JavaScript で配列をオブジェクトにマッピングする方法
JavaScript でオブジェクト配列をオブジェクトにマッピングするには、次の手順に従います。
- ターミナル/SSH を開き、コーディングを練習するために
nodeと入力します。 Array.prototype.reduce()を使用して配列をオブジェクトにマッピングします。mapKeyパラメータを使用してオブジェクトのキーをマッピングし、mapValueパラメータを使用して値をマッピングします。
以下は、objectify 関数を使用してオブジェクト配列をオブジェクトにマッピングする方法を示すコード スニペットです。
const objectify = (arr, mapKey, mapValue = (i) => i) =>
arr.reduce((acc, item) => {
acc[mapKey(item)] = mapValue(item);
return acc;
}, {});
次に、objectify 関数を使用してオブジェクト配列をオブジェクトにマッピングする方法を以下に示します。
const people = [
{ name: "John", age: 42 },
{ name: "Adam", age: 39 }
];
// 名前プロパティをキーとしてオブジェクト配列をオブジェクトにマッピングする
objectify(people, (p) => p.name.toLowerCase());
// 出力:{ john: { name: 'John', age: 42 }, adam: { name: 'Adam', age: 39 } }
// 名前プロパティをキーとし、年齢プロパティを値としてオブジェクト配列をオブジェクトにマッピングする
objectify(
people,
(p) => p.name.toLowerCase(),
(p) => p.age
);
// 出力:{ john: 42, adam: 39 }
まとめ
おめでとうございます!配列をオブジェクトにマッピングする実験を完了しました。技術力を向上させるために、LabEx でさらに実験を行って練習してください。