次のような関数を使用して、マルチレベルのディープオブジェクトの変数にアクセスする方法を理解するのに問題があります
getLanguageVariable("form.passwordSwitch.disabled");
およびサンプルとしての次のオブジェクト
var language = {
"de": {
"form": {
"passwordSwitch": {
"enabled": "Der Klartext-Modus ist aus. Aktivieren?",
"disabled": "Der Klartext-Modus ist an. Deaktivieren?"
}
}
}
}
ドット文字で文字列を分割してから、の文字列表現を作成しようとしました
language["de"]["form"]["passwordSwitch"]["enabled"]
これは、オブジェクトとそのプロパティにアクセスするために使用されます。私はこのコードを使用しました:
var stack = variableIdentifier.split(".");
var reference = "";
for (i = 0; i < stack.length; i++) {
if (i == 0) reference += stack[i];
else reference += "[\"" + stack[i] + "\"]";
}
オブジェクトの深さがわからない場合に、オブジェクトのプロパティに動的にアクセスする方法の手がかりはありますか?