কম্পিউটার

গভীর অনুসন্ধান JSON অবজেক্ট জাভাস্ক্রিপ্ট


ধরুন আমাদের নিম্নলিখিত নেস্টেড JSON অবজেক্ট −

আছে
const obj = {
   id: 1,
   title: 'hello world',
   child: {
      id: null,
      title: 'foobar',
      child: {
         id: null,
         title: 'i should be in results array '
      }
   },
   foo: {
      id: null,
      title: 'i should be in results array too!' },
      deep: [
      {
         id: null,
         value: 'yo'
      }, {
         id: null,
         value: 'yo2'
      }
   ]
};

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা প্রথম আর্গুমেন্টের মতো একটি অবজেক্ট, দ্বিতীয় হিসাবে একটি কী স্ট্রিং এবং তৃতীয় আর্গুমেন্ট হিসাবে একটি মান স্ট্রিং নেয়। ফাংশন তারপর JSON অবজেক্টে প্রদত্ত কী মান জোড়ার জন্য পরীক্ষা করা উচিত।

যদি কোনো অবজেক্ট থাকে তাহলে ফাংশনটি এমন সব অবজেক্টের একটি অ্যারে রিটার্ন করবে।

এই সমস্যাটি সমাধান করতে আমরা নিম্নলিখিত পদ্ধতি ব্যবহার করব -

  • যদি অনুসন্ধান করা আইটেমটি মিথ্যা হয় বা যদি এটি একটি বস্তু না হয়, তাহলে আমরা ফিরে আসি
  • যদি দেওয়া কী এবং মান মিলে যায়, তাহলে আমরা ফলাফল সেটে প্রকৃত বস্তু যোগ করি,
  • আমরা কী পাই এবং বৈশিষ্ট্যগুলির উপর পুনরাবৃত্তি করি এবং ফাংশনটিকে আবার কল করি।

শেষ পর্যন্ত, আমরা সংগৃহীত বস্তুর সাথে অ্যারে ফেরত দিই।

উদাহরণ

const obj = {
   id: 1,
   title: 'hello world',
   child: {
      id: null,
      title: 'foobar',
      child: {
         id: null,
         title: 'i should be in results array '
      }
   },
   foo: {
      id: null,
      title: 'i should be in results array too!' },
      deep: [
      {
         id: null, value: 'yo'
      }, {
         id: null, value: 'yo2'
      }
   ]
};
const findObject = (obj = {}, key, value) => {
   const result = [];
   const recursiveSearch = (obj = {}) => {
      if (!obj || typeof obj !== 'object') { return;
   };
   if (obj[key] === value){
      result.push(obj);
   };
   Object.keys(obj).forEach(function (k) {
      recursiveSearch(obj[k]);
   });
} recursiveSearch(obj);
return result;
} console.log(findObject(obj, 'id', null));

আউটপুট

[
   {
      id: null,
      title: 'foobar',
      child: {
         id: null, title: 'i should be in results array '
      }
   },
   {
         id: null, title: 'i should be in results array '
   }, {
         id: null, title: 'i should be in results array too!'
      }, {
      id: null, value: 'yo'
      }, { id: null, value: 'yo2'
   }
]

  1. জাভাস্ক্রিপ্ট অবজেক্ট পদ্ধতি

  2. কিভাবে JSON পাঠ্যকে জাভাস্ক্রিপ্ট JSON অবজেক্টে রূপান্তর করবেন?

  3. জাভাস্ক্রিপ্টে অবজেক্ট ডি-স্ট্রাকচারিং।

  4. জাভাস্ক্রিপ্টে WeakMap অবজেক্ট।