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

JavaScript-এ রিকার্সিভলি চেক করা সব প্রোপার্টির মান একই কিনা


মান লিজিয়ে, আমাদের একটি isSame() ফাংশন লিখতে হবে যা একটি নেস্টেড অবজেক্ট গ্রহণ করে এবং একটি বুলিয়ান রিটার্ন করবে এই ফ্যাক্টের উপর ভিত্তি করে যে সব কী-গুলোর মান একই কিনা। "সব কী" বলতে আমরা সব শেষ কী বুঝি, অর্থাৎ যদি কোনো কী-এর মান নেস্টেড অবজেক্ট হয়, তবে আমাদের সেটির শেষ পর্যন্ত ট্রাভার্স করে সেটির মান চেক করতে হবে।

উদাহরণস্বরূপ - যদি অবজেক্ট হয়:

const obj = {    a: 1,    b: 1,    c: {       aa: 1    } };

তবে ফাংশনটি true রিটার্ন করবে কারণ সব শেষ কী-গুলোর মান একই (১)। তাহলে, এই সমস্যার একটি রিকার্সিভ সমাধান লিখি।

উদাহরণ

const obj = {    a: 1,    b: 1,    c: {       aa: 3    } }; const allSame = (obj, value) => {    const keys = Object.keys(obj);    for(let i = 0; i < keys.length; i++){       if(typeof obj[keys[i]] === "object" &&       !Array.isArray(obj[keys[i]])){          return allSame(obj[keys[i]], value);       };       if(!value){          value = obj[keys[i]];          continue;       }       if(obj[keys[i]] !== value){          return false;       };    };    return true; } console.log(allSame(obj)); console.log(allSame({ a: 1, b: 1, c: { aa: 1 } })); console.log(allSame({ a: { x: 1 }, b: 1, c: { aa: 1 } })); console.log(allSame({ a: 1, b: 1, c: { aa: 2 } }));

আউটপুট

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

false true true false

  1. জাভাস্ক্রিপ্ট অবজেক্ট থেকে প্রপার্টি মুছে ফেলা

  2. জাভাস্ক্রিপ্টে অবজেক্টে প্রপার্টি আছে কিনা চেক করা

  3. জাভাস্ক্রিপ্টে একই অ্যারেতে অ্যারের এলিমেন্টগুলো ডুপ্লিকেট করা

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