ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でドット表記文字列を使用してネストされたオブジェクトのプロパティにアクセスする方法
ドット表記文字列を介したオブジェクトの子プロパティへのアクセス
ネストされたオブジェクトを扱う場合、深く埋め込まれたプロパティにアクセスするのは面倒な場合があります。文字列ドット表記を使用してこれを実現する理想的な方法を決定することは、多くの開発者を悩ませてきました。
次のように定義されたオブジェクトを考えてみましょう:
var r = { a: 1, b: { b1: 11, b2: 99 } };
b2 の値にアクセスするには、通常、次を使用できます。 :
r.b.b2 r['b']['b2']
ただし、var s = "b.b2" のような文字列を定義して、 r[s] または r.s へのアクセスは失敗します。
解決策:
1 つの方法では、文字列をドットで分割し、目的のプロパティを繰り返し取得するカスタム関数を作成します。簡単な例は次のとおりです。
function getDescendantProp(obj, desc) { var arr = desc.split("."); while (arr.length && (obj = obj[arr.shift()])); return obj; } console.log(getDescendantProp(r, "b.b2")); // Outputs 99
この関数は、ドットで区切られたパスに基づいてオブジェクト階層を再帰的に下降し、最終値を返します。特に、ドット表記を使用した配列インデックスへのアクセスも処理できます:
console.log(getDescendantProp({ a: [1, 2, 3] }, 'a.2')); // Outputs 3
以上がJavaScript でドット表記文字列を使用してネストされたオブジェクトのプロパティにアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。