Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Cekap Mengakses Sifat Objek JavaScript Bersarang Menggunakan Rentetan Notasi Titik?
Dalam JavaScript, terdapat pelbagai cara untuk mengakses sifat objek. Walau bagaimanapun, mengakses sifat bersarang dengan laluan rentetan boleh menjadi satu cabaran.
Memandangkan objek seperti:
var r = { a:1, b: { b1:11, b2: 99}};
Pertimbangkan senario di mana anda ingin mengakses nilai 99 dengan menentukan rentetan laluan var s = "b.b2". Walaupun kaedah tradisional seperti r.b.b2 atau r['b']['b2'] berfungsi, anda mungkin lebih suka menggunakan tatatanda yang lebih ringkas.
function getDescendantProp(obj, desc) { var arr = desc.split("."); while(arr.length && (obj = obj[arr.shift()])); return obj; }
Fungsi ini secara berulang membelah rentetan pada titik dan menavigasi struktur objek, akhirnya mengembalikan sifat yang diminta.
console.log(getDescendantProp(r, "b.b2")); //-> 99
Fungsi yang disediakan hanya menyokong mengakses sifat objek bersarang. Untuk penggunaan yang lebih maju, anda boleh mengubah suainya untuk mengendalikan indeks tatasusunan juga:
function advancedGetDescendantProp(obj, desc) { var arr = desc.split("."); while(arr.length) { let key = arr.shift(); if (isNaN(key)) { obj = obj[key]; } else { obj = obj[parseInt(key)]; } if (!obj) return undefined; } return obj; }
Atas ialah kandungan terperinci Bagaimana untuk Cekap Mengakses Sifat Objek JavaScript Bersarang Menggunakan Rentetan Notasi Titik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!