কম্পিউটার টিউটোরিয়াল

JavaScript-এ রিকার্সিভলি অবজেক্ট ফ্ল্যাটেন করা


আমাদের একটি ফাংশন লিখতে হবে যা নিচের ট্রান্সফর্মেশন করবে:

যদি ইনপুট অবজেক্ট হয়:

const input = {    a: 0,    b: {x: {y: 1, z: 2}},    c: 3 };

তবে ফাংশনের আউটপুট হবে:

const output = {    a: 0,    'b.x.y': 1,    'b.x.z': 2,    c: 3 }

আমাদের বেসিকলে একটি নেস্টেড অবজেক্ট ফ্ল্যাটেন করতে হবে। এটা আমরা রিকার্সন দিয়ে করব। কোডটি নিচে:

উদাহরণ

const obj = {    a: 1,    b: {x: {y: 1, z: 2}},    c: 3 }; const obj1 = {    a: 0,    b: 0,    c: 0 }; const object = { a: 0, b: { x: { y: 1, z: 2 } }, c: 3 }; const stringifyKeys = (obj, str = '', fresh = {}) => {    const keys = Object.keys(obj);    for(let i = 0; i < keys.length; i++){       if(typeof obj[keys[i]] === "object" && !Array.isArray(obj[keys[i]])       && obj[keys[i]]){          stringifyKeys(obj[keys[i]], str+`${keys[i]}.`, fresh);       }else{          fresh[str+keys[i]] = obj[keys[i]];       };    }    return fresh; }; console.log(stringifyKeys(obj)); console.log(stringifyKeys(object)); console.log(stringifyKeys(obj1));

আউটপুট

কনসোলে আউটপুট হবে:

{ a: 1, 'b.x.y': 1, 'b.x.z': 2, c: 3 } { a: 0, 'b.x.y': 1, 'b.x.z': 2, c: 3 } { a: 0, b: 0, c: 0 }

  1. জাভাস্ক্রিপ্টে Map অবজেক্ট

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

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

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