কম্পিউটার

জাভাস্ক্রিপ্টে একটি JSON অবজেক্ট সমতল করা


ধরুন, আমাদের কাছে নিম্নলিখিত JSON অবজেক্ট রয়েছে যেটিতে যেকোনো স্তর পর্যন্ত নেস্টিং থাকতে পারে −

const obj = {
   "one": 1,
   "two": {
      "three": 3
   },
   "four": {
      "five": 5,
      "six": {
         "seven": 7
      },
      "eight": 8
   },
   "nine": 9
};

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

অতএব, উপরের বস্তুর ক্ষেত্রে, আউটপুটটি এইরকম দেখতে হবে −

const output = {
   'one': 1,
   'two.three': 3,
   'four.five': 5,
   'four.six.seven': 7,
   'four.eight': 8,
   'nine': 9
};

উদাহরণ

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

const obj = {
   "one": 1,
   "two": {
      "three": 3
   },
   "four": {
      "five": 5,
      "six": {
         "seven": 7
      },
      "eight": 8
   },
   "nine": 9
};
const flattenJSON = (obj = {}, res = {}, extraKey = '') => {
   for(key in obj){
      if(typeof obj[key] !== 'object'){
         res[extraKey + key] = obj[key];
      }else{
         flattenJSON(obj[key], res, `${extraKey}${key}.`);
      };
   };
   return res;
};
console.log(flattenJSON(obj));

আউটপুট

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

{
   one: 1,
   'two.three': 3,
   'four.five': 5,
   'four.six.seven': 7,
   'four.eight': 8,
   nine: 9
}

  1. জাভাস্ক্রিপ্টে ম্যাপ অবজেক্ট।

  2. জাভাস্ক্রিপ্টে ব্লব অবজেক্ট

  3. জাভাস্ক্রিপ্টে RegExp অবজেক্ট।

  4. জাভাস্ক্রিপ্টে অবজেক্ট ইনিশিয়ালাইজার