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

জাভাস্ক্রিপ্টে টাইম স্ট্রিং রেক্টিফাই করা (HH:MM:SS)

সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা "HH:MM:SS" ফরম্যাটে একটি টাইম স্ট্রিং নেবে।

কিন্তু যোগ করার সময় সমস্যা হয়েছে, তাই অনেক টাইম স্ট্রিং ভাঙা আছে অর্থাৎ MM অংশ ৬০-এর বেশি হতে পারে, এবং SS অংশও ৬০-এর বেশি হতে পারে।

ফাংশনটি স্ট্রিংয়ে প্রয়োজনীয় পরিবর্তন করে নতুন রেক্টিফাইড স্ট্রিং রিটার্ন করবে।

উদাহরণস্বরূপ:

"08:11:71" -> "08:12:11"

উদাহরণ

নিচে কোড দেওয়া হলো:

const str = '08:11:71'; 
const rectifyTime = (str = '') => { 
   if(!Boolean(str)){ 
      return str; 
   }; 
   const re = /^(\d\d):(\d\d):(\d\d)$/; 
   if (!re.test(str)){ 
      return null; 
   }; 
   let [h, m, s] = str.match(re).slice(1,4).map(Number); 
   let time = h * 3600 + m * 60 + s; 
   s = time % 60; 
   m = (time / 60 |0) % 60; 
   h = (time / 3600 |0) % 24; 
   return [h, m, s] 
   .map(String) 
   .join(':'); 
}; 
console.log(rectifyTime(str));

আউটপুট

কনসোল আউটপুট:

08:12:11
  1. জাভাস্ক্রিপ্টে স্ট্রিংয়ের ওজন (Weight) গণনা করা

  2. জাভাস্ক্রিপ্টে ম্যাজিক্যাল স্ট্রিং সমস্যা

  3. জাভাস্ক্রিপ্টে স্ট্রিং কি রিপিটেড সাবস্ট্রিংয়ের কম্বিনেশন সেটি চেক করা

  4. জাভাস্ক্রিপ্টে স্ট্রিং রিভার্স করা স্পেস পজিশন ঠিক রেখে