Mengakses Sifat Objek Bersarang Menggunakan Rentetan Notasi Titik dalam JavaScript
Apabila memanipulasi objek, selalunya perlu untuk mengakses sifat bersarang dalam. Walaupun notasi titik dan notasi kurungan boleh mencapai ini, mereka memerlukan menentukan setiap peringkat sarang secara individu. Ini boleh menjadi membosankan dan terdedah kepada ralat untuk objek kompleks.
Penyelesaian praktikal ialah menggunakan rentetan notasi titik untuk mengakses sifat objek kanak-kanak secara langsung. Bayangkan objek dengan struktur berikut:
const r = { a: 1, b: { b1: 11, b2: 99 } };
Untuk mengakses nilai 99 menggunakan notasi titik, anda biasanya akan menulis:
r.b.b2;
Namun, bagaimana jika anda ingin mengakses secara dinamik sifat menggunakan rentetan pembolehubah, seperti:
const s = "b.b2";
Dalam senario ini, tatatanda titik mudah (cth., r.s) atau notasi kurungan (r[s]) tidak akan berfungsi.
Fungsi Tersuai untuk Mendapatkan Harta
Satu pendekatan ialah mencipta fungsi tersuai untuk memisahkan rentetan dengan aksara titik dan mengakses sifat secara berulang:
function getDescendantProp(obj, desc) { const arr = desc.split("."); while (arr.length && (obj = obj[arr.shift()])); return obj; } console.log(getDescendantProp(r, "b.b2")); // 99
Fungsi ini memudahkan akses kepada sifat bersarang menggunakan perwakilan rentetan. Anda juga boleh memanjangkannya untuk mengendalikan akses indeks tatasusunan dengan mengubah suai aksara pisah dengan sewajarnya.
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!