Lelaran pada Objek JavaScript dengan Objek Bersarang
Dalam JavaScript, mengakses sifat objek adalah mudah menggunakan notasi titik atau kurungan. Walau bagaimanapun, apabila berurusan dengan objek bersarang, lelaran melalui semua ahli boleh menjadi lebih kompleks.
Pernyataan Masalah:
Bagaimanakah seseorang boleh menggelungkan semua ahli objek JavaScript dengan berkesan , termasuk nilai yang merupakan objek itu sendiri? Sebagai contoh, pertimbangkan objek berikut:
var validation_messages = { "key_1": { "your_name": "jimmy", "your_msg": "hello world" }, "key_2": { "your_name": "billy", "your_msg": "foo equals bar" } };
Matlamatnya adalah untuk mengulangi semua sifat objek ini, mengakses "nama_anda" dan "msg_anda" bagi setiap objek bersarang.
Penyelesaian:
Untuk menggelung melalui objek JavaScript dengan objek bersarang, kita boleh menggunakan gabungan Kaedah Object.keys() dan bersarang untuk...dalam gelung. Kaedah Object.keys() mengembalikan tatasusunan semua nama sifat terhitung objek.
for (var key in validation_messages) { // skip loop if the property is from prototype if (!validation_messages.hasOwnProperty(key)) continue; var obj = validation_messages[key]; for (var prop in obj) { // skip loop if the property is from prototype if (!obj.hasOwnProperty(prop)) continue; // your code alert(prop + " = " + obj[prop]); } }
Dalam penyelesaian ini:
Penyelesaian ini secara berkesan melintas semua ahli objek bersarang, membolehkan akses mudah kepada nilai mereka.
Atas ialah kandungan terperinci Bagaimana untuk Mengulang Melalui Objek Bersarang dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!