Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Mengulang Melalui Objek Bersarang dalam JavaScript?

Bagaimana untuk Mengulang Melalui Objek Bersarang dalam JavaScript?

Linda Hamilton
Lepaskan: 2024-12-23 10:55:09
asal
899 orang telah melayarinya

How to Iterate Through Nested Objects in JavaScript?

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"
    }
};
Salin selepas log masuk

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]);
    }
}
Salin selepas log masuk

Dalam penyelesaian ini:

  • Luar untuk...dalam gelung berulang ke atas kekunci objek validation_messages.
  • Kami menggunakan kaedah hasOwnProperty() untuk memastikan kami hanya mengakses sifat secara terus kepunyaan objek, bukannya yang diwarisi daripada prototaip.
  • Untuk setiap sifat, kami mengakses objek bersarang yang sepadan dan meneruskan untuk mengulangi sifatnya di dalam untuk...dalam gelung.
  • Sekali lagi, kami menggunakan hasOwnProperty() untuk menapis sifat prototaip.
  • Dalam gelung dalaman, kami boleh mengakses dan menggunakan sifat tersebut seperti yang diperlukan, seperti memaparkannya dalam amaran.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan