Menetapkan sifat objek bersarang boleh menjadi tugas yang kompleks dari segi pengaturcaraan, terutamanya apabila laluan dan nilai harta boleh berbeza-beza dari segi kedalaman dan jenis. Untuk memudahkan proses ini, kita boleh mencipta fungsi yang merentasi dan menetapkan sifat secara dinamik dalam objek.
<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>
Pertimbangkan objek bersarang berikut :
<code class="javascript">var obj = { db: { mongodb: { host: 'localhost' } } };</code>
Untuk menetapkan harta pada laluan tertentu, kita boleh menggunakan fungsi set():
<code class="javascript">set('db.mongodb.user', 'root');</code>
Menggunakan fungsi set() kepada objek contoh akan menghasilkan:
<code class="javascript">obj = { db: { mongodb: { host: 'localhost', user: 'root' } } };</code>
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Sifat Secara Dinamik dalam Objek JavaScript Bersarang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!