Mengakses Sifat Anak Objek dengan Rentetan Notasi Titik
Mengakses sifat anak objek JavaScript menggunakan tatatanda titik berantai ialah tugas pengaturcaraan biasa. Walau bagaimanapun, terdapat had apabila menggunakan pendekatan ini untuk akses sifat dinamik.
Pertimbangkan objek berikut:
var r = { a: 1, b: { b1: 11, b2: 99 } };
Untuk mengakses nilai b2, seseorang boleh menggunakan notasi titik standard:
r.b.b2
Walau bagaimanapun, jika seseorang memerlukan akses sifat dinamik berdasarkan rentetan, seperti sebagai:
var s = "b.b2";
Percubaan langsung seperti r.s atau r[s] akan gagal. Satu penyelesaian ialah menggunakan fungsi tersuai yang berulang melalui segmen rentetan untuk mendapatkan semula sifat:
function getDescendantProp(obj, desc) { var arr = desc.split("."); while (arr.length && (obj = obj[arr.shift()])); return obj; } console.log(getDescendantProp(r, "b.b2")); // 99 ```` This function effectively simulates the behavior of dot notation by breaking down the string and recursively accessing the corresponding properties. However, it is important to note that this method works best for simple object property scenarios. Arrays can also be accessed using this approach by treating elements as dotted properties:
getDescendantProp({ a: [ 1, 2, 3 ] }, 'a.2'); // 3
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Sifat Objek JavaScript Bersarang Menggunakan Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!