কম্পিউটার

জাভাস্ক্রিপ্টে স্কয়ার ব্র্যাকেট অবজেক্ট কীগুলিকে নেস্টেড অবজেক্টে কীভাবে রূপান্তর করবেন?


আমরা জানি যে দুটি উপায়ে আমরা জাভাস্ক্রিপ্টের একটি অবজেক্টের মধ্যে নেস্টেড কীগুলি অ্যাক্সেস করতে পারি৷

উদাহরণস্বরূপ, এই বস্তুটি নিন -

const obj = {
   object: {
      foo: {
         bar: {
            ya: 100
         }
      }
   }
};

যদি আমাদের নেস্টেড প্রপার্টি 'ya' অ্যাক্সেস বা আপডেট করার প্রয়োজন হয়, আমরা −

এর মতো এটি অ্যাক্সেস করতে পারি

ওয়ে 1 -

obj['object']['foo']['bar']['ya']

বা ওয়ে 2 -

obj.object.foo.bar.ya

এই উভয় পথই আমাদের একই গন্তব্যে নিয়ে যায়।

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা পথ 1 দ্বারা চিত্রিত একটি স্ট্রিং হিসাবে নেস্টেড কী-এর পথে নিয়ে যায় এবং এটিকে ওয়ে 2 দ্বারা চিত্রিত স্বরলিপিতে রূপান্তরিত করে

উদাহরণ

এর জন্য কোড হবে −

const obj = { "object[foo][bar][ya]": 100 };
const constructDotNotation = obj => {
   const keys = Object.keys(obj)[0].split('[').map(el => {
      return el.replace(']', '');
   });
   let res = {};
   keys.reverse().forEach(key => {
      if (Object.keys(res).length === 0){
         res[key] = obj[Object.keys(obj)[0]];
      }else{
         const temp = {};
         temp[key] = res;
         res = temp;
      };
   });
   return res;
};
console.log(JSON.stringify(constructDotNotation(obj), undefined, 4));

আউটপুট

এবং কনসোলে আউটপুট হবে −

{
   "object": {
      "foo": {
         "bar": {
            "ya": 100
         }
      }
   }
}

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

  2. জাভাস্ক্রিপ্ট অবজেক্টের তালিকায় অভিধানকে কীভাবে রূপান্তর করবেন?

  3. কিভাবে জাভাস্ক্রিপ্ট অবজেক্টে একটি স্ট্রিং রূপান্তর করবেন?

  4. জাভাস্ক্রিপ্ট ব্যবহার করে কী দ্বারা নেস্টেড অবজেক্ট ফিল্টার করুন