Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengakses Sifat Objek JavaScript Bersarang Menggunakan Rentetan Notasi Titik?

Bagaimanakah Saya Boleh Mengakses Sifat Objek JavaScript Bersarang Menggunakan Rentetan Notasi Titik?

Mary-Kate Olsen
Lepaskan: 2024-11-21 14:54:13
asal
581 orang telah melayarinya

How Can I Access Nested JavaScript Object Properties Using Dot Notation Strings?

Mengakses Sifat Objek Bersarang dengan Rentetan Notasi Titik

Apabila bekerja dengan objek kompleks, mengakses sifat bersarang dalam boleh menjadi proses yang menyusahkan. Sintaks JavaScript standard memerlukan navigasi manual melalui hierarki harta, yang boleh menjadi membosankan dan terdedah kepada ralat. Isu ini telah mendorong pencarian pendekatan alternatif untuk memudahkan tugasan ini.

Satu penyelesaian yang dicari ialah keupayaan untuk mengakses sifat bersarang menggunakan rentetan notasi titik. Walau bagaimanapun, ciri ini tidak disokong secara asli dalam JavaScript. Berikut ialah fungsi mudah yang membolehkan kefungsian ini:

function getDescendantProp(obj, desc) {
    var arr = desc.split(".");
    while (arr.length && (obj = obj[arr.shift()]));
    return obj;
}
Salin selepas log masuk

Dengan fungsi ini, anda boleh mengakses sifat bersarang dalam menggunakan rentetan:

var r = { a: 1, b: { b1: 11, b2: 99 } };
console.log(getDescendantProp(r, "b.b2")); // 99
Salin selepas log masuk

Perhatikan bahawa pendekatan ini juga boleh digunakan untuk mengakses elemen tatasusunan dengan menyatakan indeks berangkanya sebagai sebahagian daripada rentetan notasi titik:

getDescendantProp({ a: [1, 2, 3] }, 'a.2'); // 3
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Sifat Objek JavaScript Bersarang Menggunakan Rentetan Notasi Titik?. 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