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

1 行の JS コードでネストされたオブジェクトをフラット化する方法

Susan Sarandon
リリース: 2024-10-22 13:17:03
オリジナル
236 人が閲覧しました

How to Flatten Nested Objects with a Single Line of JS Code?

ワンライナーでネストされたオブジェクトを平坦化する

ネストされたオブジェクトを平坦化することはプログラミングでは一般的なタスクですが、最新の JavaScript ではさらに簡単です。 。以下は、スプレッド演算子と Object.assign を使用する 1 行のソリューションです。

Object.assign({}, ...function _flatten(o) { return [].concat(...Object.keys(o).map(k => typeof o[k] === 'object' ? _flatten(o[k]) : ({[k]: o[k]})))}(yourObject))
ログイン後にコピー

仕組み:

このコードは、再帰関数 _ flatten を使用します。これは、ネストされたオブジェクトを走査し、1 つのプロパティのオブジェクトの配列を作成します。各プロパティ名は対応する値にマップされ、値が別のオブジェクトの場合、関数はそのオブジェクトに再帰的に入ります。

スプレッド演算子 (...) は、_ flatten によって作成されたオブジェクトの配列を平坦化するために使用されます。 。結果の配列は Object.assign に渡され、すべてのオブジェクトが 1 つのフラット化されたオブジェクトに結合されます。

入力と出力の例:

次のネストされたものを考えてみましょう。オブジェクト:

{
  a: 2,
  b: {
    c: 3
  }
}
ログイン後にコピー

このオブジェクトで提供されたコードを実行すると、フラット化された結果が生成されます:

{
  a: 2,
  c: 3
}
ログイン後にコピー

注:

このソリューションでは、 ES6 の機能のため、古い JavaScript 環境を使用している場合は調整が必要になる場合があります。

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート