文字列パスを使用して深くネストされたオブジェクト値にアクセスするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-24 19:24:02
オリジナル
408 人が閲覧しました

How can I Access Deeply Nested Object Values Using a String Path?

文字列パス経由で深くネストされたオブジェクト値を取得する

特に文字列パスを使用してオブジェクトを走査する場合、深くネストされたオブジェクトのプロパティにアクセスするのは面倒になることがあります。この質問では、指定された文字列パスに基づいてオブジェクトから値を取得する解決策を求めます。

提案された解決策

提案されたアプローチでは、次の関数 deep_value を使用し、パス文字列:

<code class="javascript">var deep_value = function(obj, path) {
  for (var i = 0, path = path.split('.'), len = path.length; i < len; i++) {
    obj = obj[path[i]];
  }
  return obj;
};</code>
ログイン後にコピー

内訳

  • split('.') 操作は、文字列パスをプロパティ名の配列に変換します。
  • ループはオブジェクトを走査し、各プロパティに順番にアクセスするために使用されます。
  • 最後の反復により、最終的にネストされた値が返されます。

次のオブジェクトについて考えてみましょう:

var obj = {
  foo: { bar: 'baz' }
};
ログイン後にコピー

文字列パス「foo.bar」を使用して obj.foo.bar の値にアクセスするには、deep_value 関数を次のように呼び出すことができます:

deep_value(obj, "foo.bar"); // returns "baz"
ログイン後にコピー

以上が文字列パスを使用して深くネストされたオブジェクト値にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!