Bagaimanakah saya boleh Mengakses Nilai Objek Bersarang Dalam Menggunakan Laluan Rentetan?

Patricia Arquette
Lepaskan: 2024-10-24 19:24:02
asal
408 orang telah melayarinya

How can I Access Deeply Nested Object Values Using a String Path?

Memperoleh Nilai Objek Bersarang Dalam melalui Laluan Rentetan

Mengakses sifat objek bersarang dalam boleh menyusahkan, terutamanya apabila menggunakan laluan rentetan untuk melintasi objek. Soalan ini mencari penyelesaian untuk mendapatkan semula nilai daripada objek berdasarkan laluan rentetan yang disediakan.

Penyelesaian yang Dicadangkan

Pendekatan yang dicadangkan menggunakan fungsi berikut, deep_value, yang menavigasi secara berulang sifat objek yang dinyatakan dalam rentetan laluan:

<code class="javascript">var deep_value = function(obj, path) {
  for (var i = 0, path = path.split('.'), len = path.length; i < len; i++) {
    obj = obj[path[i]];
  }
  return obj;
};</code>
Salin selepas log masuk

Pecahan

  • Operasi split('.') menukar laluan rentetan kepada tatasusunan nama sifat.
  • Gelung ialah digunakan untuk melintasi objek, mengakses setiap sifat mengikut turutan.
  • Lelaran terakhir mengembalikan nilai bersarang akhir.

Contoh

Pertimbangkan objek berikut:

var obj = {
  foo: { bar: 'baz' }
};
Salin selepas log masuk

Untuk mengakses nilai obj.foo.bar menggunakan laluan rentetan "foo.bar", fungsi deep_value boleh digunakan seperti berikut:

deep_value(obj, "foo.bar"); // returns "baz"
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah saya boleh Mengakses Nilai Objek Bersarang Dalam Menggunakan Laluan Rentetan?. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!