ネストされたオブジェクトの動的プロパティ設定
複雑なネストされたオブジェクトにプロパティを動的に設定するのは難しい場合があります。これに対処するには、次の関数を検討してください。
<code class="javascript">function set(path, value) { var schema = obj; // 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">set('db.mongodb.user', 'root');</code>
When関数はパス上に存在しないオブジェクトを検出すると、そのレベルで空のオブジェクトを作成します。これにより、既存の値をマージしたり上書きしたりせずに、プロパティを正しいレベルで設定できるようになります。
たとえば、次のオブジェクトがあるとします。
<code class="javascript">var obj = { db: { mongodb: { host: 'localhost' } } };</code>
Setting db.mongodb.user to 'root ' は次のようになります:
<code class="javascript">obj = { db: { mongodb: { host: 'localhost', user: 'root' } } };</code>
プロパティを動的に設定することにより、オブジェクトの構造が不明な場合や変化する場合でも、複雑なネストされたオブジェクトを簡単に操作できます。この手法は、複雑なデータ構造内のデータにアクセスして変更するための強力かつ柔軟な方法を提供します。
以上がJavaScript でネストされたオブジェクトのプロパティを動的に設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。