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?

Patricia Arquette
Lepaskan: 2024-11-28 22:04:11
asal
853 orang telah melayarinya

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

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

Untuk mengakses nilai 99 menggunakan notasi titik, anda biasanya akan menulis:

r.b.b2;
Salin selepas log masuk

Namun, bagaimana jika anda ingin mengakses secara dinamik sifat menggunakan rentetan pembolehubah, seperti:

const s = "b.b2";
Salin selepas log masuk

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

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!

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