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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-25 07:26:02857ブラウズ

How to Retrieve Nested Object Values in Javascript Using String Paths?

文字列パスを使用した Javascript でのネストされたオブジェクト値の取得

概要:

からの値の取得深くネストされたオブジェクトは面倒な作業になる可能性があります。この質問では、ユーザーは、提供された文字列パスを使用してオブジェクトをトラバースすることにより、値を効率的に抽出する Javascript 関数を求めています。

深い値取得関数:

提供されたソリューションこの要件は、deep_value() という名前の関数で満たします:

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

この関数は 2 つのパラメータを受け入れます:

  • obj: 値が取得されるターゲット オブジェクト。
  • パス: ネストされたキーの場合はドット (.) で区切られた、目的の値へのパスを指定する文字列。

関数ワークフロー:

この関数は、文字列パスをキーの配列に分割することによって、文字列パスを反復処理します。次に、オブジェクトを走査し、各キーで前の値を obj に割り当てます。これにより、関数はオブジェクトのネストされた構造内を移動できるようになります。最後に、指定されたパスの最後のキーに対応する値を返します。

使用例:

使用法を説明するために、次のオブジェクトを考えてみましょう:

var obj = {
  foo: { bar: 'baz' }
};

指定された文字列パスを使用して obj.foo.bar の値にアクセスするには、次のコードを使用できます。

result = deep_value(obj, "foo.bar");

結果変数には値 'baz' が保持されます。期待される。この関数は、JavaScript の複雑なオブジェクトからネストされた値を取得するための便利で多用途な方法を提供します。

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

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