ホームページ  >  記事  >  ウェブフロントエンド  >  文字列パスを使用して深くネストされたオブジェクトから値を取得する方法

文字列パスを使用して深くネストされたオブジェクトから値を取得する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-10-24 23:30:30191ブラウズ

How to Retrieve Values from Deeply Nested Objects Using String Paths?

文字列パスを使用して深くネストされたオブジェクト値を取得する

問題:

深くネストされたオブジェクト値を取得する関数を探していますネストされた構造を表す文字列パスをたどることによってオブジェクトを取得します。例:

<code class="javascript">var obj = {
  foo: { bar: 'baz' }
};
// Retrieve obj.foo.bar's value with the string "foo.bar"
getValue(obj, "foo.bar");</code>

解決策:

次の解決策は、指定された文字列パスを使用してネストされたオブジェクトを効果的に移動します:

<code class="javascript">function getValue(obj, path) {
  var pathParts = path.split('.');
  for (var i = 0; i < pathParts.length; i++) {
    obj = obj[pathParts[i]];
  }
  return obj;
}</code>

説明:

  1. 文字列パスはオブジェクト キーの配列 (この例では ["foo", "bar"]) に分割されます。
  2. 繰り返します配列を介して、各キーに関連付けられた値を取得します。
  3. 最終結果は、指定されたパスの値を表します。

例:

<code class="javascript">var obj = {
  foo: { bar: 'baz' }
};
console.log(getValue(obj, "foo.bar")); // Output: "baz"</code>

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

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