ワンライナーでネストされたオブジェクトをフラット化する
JavaScript では、ネストされたオブジェクトをフラット化するタスクが頻繁に発生します。この操作には、ネストされたレベルを持つ複雑なオブジェクトを単一レベルのオブジェクトに変換することが含まれます。これを実現するにはさまざまなアプローチがありますが、ここでは最新の JavaScript 機能を活用する 1 行のソリューションについて詳しく説明します。
提供されたスニペットは、Object.assign() メソッドを使用して、ネストされたオブジェクトを効率的にフラット化します。再帰関数 (_ flatten) を通じて作成された 1 つのプロパティ オブジェクトの配列を結合します。この関数は、入力オブジェクト内の各キーを走査し、値が別のオブジェクトの場合はそれ自体を呼び出し、それ以外の場合は単一のプロパティと値のペアを持つオブジェクトを作成します。
実装:
Object.assign({}, ...function _flatten(o) { return [].concat(...Object.keys(o).map(k => typeof o[k] === 'object' ? _flatten(o[k]) : ({[k]: o[k]})))}(yourObject))
例:
ネストされたオブジェクトを考えます:
{ a:2, b: { c:3 } }
このオブジェクトをフラット化すると、次の結果が得られます:
{ a:2, c:3 }
利点:
考慮事項:
以上が1 行のコードで JavaScript のネストされたオブジェクトをフラット化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。