কম্পিউটার

ওভারল্যাপিং বার জাভাস্ক্রিপ্ট চেক করা হচ্ছে


আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা বিরতির একটি অ্যারে নেয় (এইভাবে শুরু এবং শেষ সময় −

const arr = [
   { start: '01:00', end: '04:00' },
   { start: '05:00', end: '08:00' },
   { start: '07:00', end: '11:00' },
   { start: '09:30', end: '18:00' },
];

আমাদের ফাংশনটি অবজেক্টের এই অ্যারের মাধ্যমে পুনরাবৃত্তি করা উচিত এবং অন্যদের বিরুদ্ধে অ্যারের সমস্ত উপাদান পরীক্ষা করা উচিত।

যদি একটি ওভারল্যাপিং ব্যবধান পাওয়া যায়, পুনরাবৃত্তি বন্ধ হয়ে যায় এবং সত্য ফেরত দেওয়া হয়, অন্যথায় মিথ্যা। ওভারল্যাপিং ব্যবধান দ্বারা, আমরা সময়ের ব্যবধান বলতে বুঝি যেগুলির মধ্যে কিছু সময় মিল আছে।

উদাহরণ

const arr = [
   { start: '01:00', end: '04:00' },
   { start: '05:00', end: '08:00' },
   { start: '07:00', end: '11:00' },
   { start: '09:30', end: '18:00' },
];
const overlapping = (a, b) => {
   const getMinutes = s => {
      const p = s.split(':').map(Number);
      return p[0] * 60 + p[1];
   };
   return getMinutes(a.end) > getMinutes(b.start) && getMinutes(b.end) > getMinutes(a.start);
};
const isOverlapping = (arr) => {
   let i, j;
   for (i = 0; i < arr.length - 1; i++) {
       for (j = i + 1; j < arr.length; j++) {
         if (overlapping(arr[i], arr[j])) {
            return true;
         }
      };
   };
   return false;
};
console.log(isOverlapping(arr));

আউটপুট

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

true

  1. জাভাস্ক্রিপ্টে কেন্দ্রীয়ভাবে শীর্ষে থাকা অ্যারেগুলির জন্য পরীক্ষা করা হচ্ছে

  2. জাভাস্ক্রিপ্টে বিশেষ সংখ্যার জন্য পরীক্ষা করা হচ্ছে

  3. জাভাস্ক্রিপ্টে অ্যারের অনুরূপ বর্গক্ষেত্র পরীক্ষা করা হচ্ছে

  4. জাভাস্ক্রিপ্টে নির্দিষ্ট ধরণের ম্যাট্রিক্সের জন্য পরীক্ষা করা হচ্ছে