Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Cekap Mencari Objek Khusus dalam Objek JavaScript Bersarang?

Bagaimana untuk Cekap Mencari Objek Khusus dalam Objek JavaScript Bersarang?

Susan Sarandon
Susan Sarandonasal
2024-11-03 02:48:03768semak imbas

How to Efficiently Find a Specific Object in Nested JavaScript Objects?

Membalas melalui Objek JavaScript Bersarang

Membalas melalui objek JavaScript bersarang boleh menjadi mencabar, terutamanya apabila anda perlu mendapatkan semula objek tertentu berdasarkan harta nilai. Mari kita pertimbangkan contoh berikut:

<code class="javascript">var cars = {
  label: 'Autos',
  subs: [
    {
      label: 'SUVs',
      subs: []
    },
    {
      label: 'Trucks',
      subs: [
        {
          label: '2 Wheel Drive',
          subs: []
        },
        {
          label: '4 Wheel Drive',
          subs: [
            {
              label: 'Ford',
              subs: []
            },
            {
              label: 'Chevrolet',
              subs: []
            }
          ]
        }
      ]
    },
    {
      label: 'Sedan',
      subs: []
    }
  ]
};</code>

Jika kita ingin mendapatkan semula objek untuk jenama "Ford", kita boleh menggunakan pendekatan rekursif:

<code class="javascript">const iterate = (obj, identifier) => {
  for (let key in obj) {
    if (obj[key]['label'] === identifier) {
      return obj[key];
    }
    if (typeof obj[key] === 'object' && obj[key] !== null) {
      const result = iterate(obj[key], identifier);
      if (result) {
        return result;
      }
    }
  }
  return null;
};

const fordObject = iterate(cars, 'Ford');</code>

Dalam contoh ini, fungsi iterate mengambil dua parameter: objek untuk dicari dan rentetan pengecam. Ia berulang melalui sifat objek, menyemak sama ada sifat label sepadan dengan pengecam. Jika tidak, ia menyemak sama ada harta itu adalah objek lain dan meneruskan lelaran. Jika tiada objek sepadan ditemui, ia akan mengembalikan null.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Mencari Objek Khusus dalam Objek JavaScript Bersarang?. 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