Menukar Rentetan Notasi Titik JavaScript kepada Rujukan Objek
Dalam JavaScript, anda boleh menghadapi senario di mana anda perlu menukar rentetan notasi titik , seperti "a.b", menjadi rujukan kepada sifat bersarang dalam objek. Ini amat berguna apabila bekerja dengan struktur data kompleks atau data yang datang daripada sumber luaran.
Satu penyelesaian mudah ialah menggunakan fungsi eval():
var obj = { a: { b: '1', c: '2' } }; eval('var val = obj.a.b'); console.log(val); // '1'
Walau bagaimanapun, menggunakan eval( ) secara amnya tidak digalakkan disebabkan oleh kebimbangan keselamatan dan potensi isu prestasi.
Pendekatan yang lebih dipercayai ialah menggunakan akses berasaskan indeks menggunakan gabungan belah dan kurangkan:
function index(obj, path) { return path.split('.').reduce((o, i) => o[i], obj); } var val = index(obj, 'a.b'); console.log(val); // '1'
Fungsi ini membahagikan laluan pada setiap titik ('.') dengan berkesan dan menggunakan reduce untuk mengakses sifat bersarang secara berulang dalam objek.
Dengan menggunakan teknik ini, anda boleh menukar rentetan notasi titik kepada rujukan objek dengan selamat dan cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Rentetan Notasi Titik JavaScript kepada Rujukan Objek dengan Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!