Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah saya boleh Mengakses Nilai Objek Bersarang Dalam Menggunakan Laluan Rentetan?

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

Patricia Arquette
Patricia Arquetteasal
2024-10-24 19:24:02409semak imbas

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>

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' }
};

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"

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!

Kenyataan:
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