ホームページ >ウェブフロントエンド >jsチュートリアル >ネストされたオブジェクトを 1 行のソリューションでフラット化する方法

ネストされたオブジェクトを 1 行のソリューションでフラット化する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-22 16:22:02647ブラウズ

How to Flatten Nested Objects with a One-Line Solution?

ネストされたオブジェクトを平坦化するための 1 行のソリューション

データ操作の分野では、ネストされたオブジェクトを平坦化することは一般的なタスクです。複数レベルのネストを持つ複雑なオブジェクトを、単一レベルのキーと値を持つ単純なオブジェクトに変換する必要がある場合があります。効率的なアプローチの 1 つは、簡潔なワンライナーを利用することです:

Object.assign({}, ...function _flatten(o) { return [].concat(...Object.keys(o).map(k => typeof o[k] === 'object' ? _flatten(o[k]) : ({[k]: o[k]})))}(yourObject))

このワンライナーを詳しく見てみましょう:

  • 前提として、オブジェクトを再帰的に走査して配列を構築します。
  • その後、Object.assign メソッドを使用して、これらのオブジェクトを 1 つのフラット化されたオブジェクトに結合します。
  • _ flatten 関数は、ネストされたオブジェクトに下降する再帰ヘルパーです。キーと値のペアに基づいて 1 つのプロパティ オブジェクトを作成します。
  • このプロセスは、ネストされたオブジェクトがすべてフラット化されるまで続きます。

このワンライナーを使用するには、ネストされたオブジェクトを渡すだけです。 yourObject プレースホルダーに追加します。結果として得られるフラット化されたオブジェクトは、式の出力としてアクセス可能になります。

以上がネストされたオブジェクトを 1 行のソリューションでフラット化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。