Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menukar Rentetan Notasi Titik kepada Rujukan Objek dalam JavaScript?

Bagaimana untuk Menukar Rentetan Notasi Titik kepada Rujukan Objek dalam JavaScript?

Barbara Streisand
Lepaskan: 2024-12-17 13:25:13
asal
623 orang telah melayarinya

How to Convert a Dot Notation String to an Object Reference in JavaScript?

Cara Menukar Rentetan JavaScript dalam Notasi Titik kepada Rujukan Objek

Menggunakan satu pelapik yang mudah dan elegan, anda boleh menukar rentetan JavaScript dalam tatatanda titik kepada rujukan objek. Begini caranya:

'a.b.etc'.split('.').reduce(index, obj)
Salin selepas log masuk

di mana indeks ialah fungsi yang digunakan untuk pengindeksan.

Memisahkan Rentetan kepada Tatasusunan

Sebelum melakukan penukaran, rentetan notasi titik dibahagikan kepada tatasusunan menggunakan kaedah split('.'). Sebagai contoh, rentetan 'a.b.etc' akan dibahagikan kepada ['a', 'b', 'etc'].

Menggunakan Kaedah pengurangan untuk Pengindeksan

Kaedah pengurangan digunakan untuk mengulangi tatasusunan dan mengindeks ke dalam objek. Penumpuk, o, mewakili objek semasa sedang diindeks, dan i ialah elemen semasa dalam tatasusunan. Fungsi indeks digunakan pada setiap elemen, di mana ia mengembalikan o[i], nilai yang diindeks ke dalam objek semasa.

Menyatukan Semuanya

Menggabungkan rentetan operasi pemisahan dan pengindeksan, kami mendapat yang berikut:

'a.b.etc'.split('.').reduce(function(o, i) { return o[i] }, obj)
Salin selepas log masuk

Ini akan mengembalikan nilai bersarang, obj.a.b.etc, daripada rujukan objek asal.

Nota: Terdapat kaedah alternatif, tetapi satu pelapik ini menawarkan keanggunan dan kesederhanaan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Notasi Titik kepada Rujukan Objek dalam JavaScript?. 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