ネストされたオブジェクトのプロパティの設定は、特にプロパティのパスと値の深さと型が異なる場合、プログラム的に複雑なタスクになる可能性があります。このプロセスを簡素化するために、オブジェクト内のプロパティを動的に走査して設定する関数を作成できます。
<code class="javascript">function set(path, value) { var schema = obj; // Moving reference to internal objects within obj var pList = path.split('.'); var len = pList.length; for (var i = 0; i < len - 1; i++) { var elem = pList[i]; if (!schema[elem]) schema[elem] = {}; schema = schema[elem]; } schema[pList[len - 1]] = value; }</code>
次のネストされたオブジェクトを考えてみましょう。 :
<code class="javascript">var obj = { db: { mongodb: { host: 'localhost' } } };</code>
特定のパスでプロパティを設定するには、set() 関数を使用できます。
<code class="javascript">set('db.mongodb.user', 'root');</code>
set() 関数の適用サンプルオブジェクトにすると次のようになります:
<code class="javascript">obj = { db: { mongodb: { host: 'localhost', user: 'root' } } };</code>
以上がネストされた JavaScript オブジェクトのプロパティを動的に設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。