JavaScript を使ったオブジェクトプロパティの変換

Beginner

This tutorial is from open-source community. Access the source code

はじめに

この実験では、JavaScript の transform 関数を調べます。この関数を使うと、指定された関数をアキュムレータとオブジェクトの各キーに適用できます。Object.keys()Array.prototype.reduce() を使うことで、オブジェクトの各キーを簡単に反復処理し、必要な変換を行うことができます。この実験では、この便利な関数を使った実践的な経験を提供し、JavaScript プログラミングにおけるその実際の応用例を示します。

オブジェクトの変換

コーディングの練習を始めるには、ターミナル/SSH を開き、node と入力します。

transform 関数は、指定された関数をアキュムレータとオブジェクトの各キーに左から右へ適用します。使い方は以下の通りです。

  • Object.keys() を使ってオブジェクトの各キーを反復処理します。
  • Array.prototype.reduce() を使って指定された関数を与えられたアキュムレータに適用します。
const transform = (obj, fn, acc) =>
  Object.keys(obj).reduce((a, k) => fn(a, obj[k], k, obj), acc);

以下は例です。

transform(
  { a: 1, b: 2, c: 1 },
  (r, v, k) => {
    (r[v] || (r[v] = [])).push(k);
    return r;
  },
  {}
); // { '1': ['a', 'c'], '2': ['b'] }

まとめ

おめでとうございます!あなたはオブジェクトの変換の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに実験を練習することができます。