文字列パスを介してネストされたオブジェクト値を取得する
クエリ:
どうすればエレガントに機能できますか目的の値への文字列パスを指定して、ネストされたオブジェクトの値を抽出しますか?
目標:
次の目的の動作を持つ関数を作成します:
var obj = { foo: { bar: 'baz' } }; function(obj, "foo.bar") -> 'baz'
解決策:
これを実現するには、次の関数の利用を検討してください:
var deep_value = function(obj, path){ var pathComponents = path.split('.'); for (var i = 0; i < pathComponents.length; i++){ obj = obj[pathComponents[i]]; } return obj; };
この関数は、文字列パスをガイドとして利用して、オブジェクト階層を効果的に移動します。 、必要な値を抽出します。
デモ:
関数の機能のデモ:
var obj = { foo: { bar: 'baz' } }; console.log(deep_value(obj, "foo.bar")); // Output: 'baz'
注:
必要な値が存在しない可能性があるシナリオに対処するために、そのような場合に未定義を返すように関数を変更できます。
以上が文字列パス クエリを使用してネストされたオブジェクト値を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。