কম্পিউটার

জাভাস্ক্রিপ্টে দুটি বস্তুর তুলনা করুন এবং 0 এবং 100 এর মধ্যে একটি সংখ্যা প্রদান করুন যা সাদৃশ্যের শতাংশের প্রতিনিধিত্ব করে


ধরা যাক, আমাদের কাছে এই ধরনের দুটি বস্তু আছে -

const a = {
   Make: "Apple",
   Model: "iPad",
   hasScreen: "yes",
   Review: "Great product!",
};
const b = {
   Make: "Apple",
   Model: "iPad",
   waterResistant: false
};

আমাদের এমন একটি ফাংশন লিখতে হবে যা বস্তুর সাধারণ বৈশিষ্ট্যের সংখ্যা গণনা করে (সাধারণ বৈশিষ্ট্য দ্বারা আমরা বোঝায় কী এবং মান উভয়ই একই) এবং 0 এবং 100 (উভয় সহ) এর মধ্যে একটি সংখ্যা প্রদান করে যা বস্তুর মধ্যে মিলের শতাংশকে প্রতিনিধিত্ব করে। লাইক যদি কোনো কী/মান জোড়া মেলে না তা হবে 0, সব মিলে গেলে 100 হবে।

সাদৃশ্যের শতাংশ গণনা করতে আমরা অনুরূপ সম্পত্তির গণনাকে ছোট বস্তুর বৈশিষ্ট্যের সংখ্যা দিয়ে ভাগ করতে পারি (যেটিতে কম কী/মান জোড়া আছে) এবং এই ফলাফলটিকে 100 দ্বারা গুণ করতে পারি।

সুতরাং, এটি বোঝার সাথে, এখন এই ফাংশনের জন্য কোড লিখি -

উদাহরণ

const a = {
   Make: "Apple",
   Model: "iPad",
   hasScreen: "yes",
   Review: "Great product!",
};
const b = {
   Make: "Apple",
   Model: "iPad",
   waterResistant: false
};
const findSimilarity = (first, second) => {
   const firstLength = Object.keys(first).length;
   const secondLength = Object.keys(second).length;
   const smaller = firstLength < secondLength ? first : second;
   const greater = smaller === first ? second : first;
   const count = Object.keys(smaller).reduce((acc, val) => {
      if(Object.keys(greater).includes(val)){
         if(greater[val] === smaller[val]){
            return ++acc;
         };
      };
      return acc;
   }, 0);
   return (count / Math.min(firstLength, secondLength)) * 100;
};
console.log(findSimilarity(a, b));

আউটপুট

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

66.66666666666666

কারণ ছোট বস্তুটির 3টি বৈশিষ্ট্য রয়েছে যার মধ্যে 2টি সাধারণ যার পরিমাণ প্রায় 66%।


  1. জাভাস্ক্রিপ্টে আক্ষরিক দুটি অ্যারের মধ্যে অনুপস্থিত সংখ্যা খুঁজে বের করা

  2. একটি দশমিক সংখ্যার বিটগুলিকে উল্টানো এবং জাভাস্ক্রিপ্টে নতুন দশমিক সংখ্যা প্রদান করা

  3. জাভাস্ক্রিপ্টে দুটি আইপি ঠিকানার মধ্যে উপস্থিত আইপি ঠিকানার সংখ্যা গণনা করা হচ্ছে

  4. জাভাস্ক্রিপ্টে প্রাইমগুলির শক্তি এবং গুণফল হিসাবে সংখ্যার প্রতিনিধিত্ব করা