সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা "HH:MM:SS" ফর্ম্যাটে একটি সময় স্ট্রিং নেয়৷
কিন্তু এছাড়াও একটি সমস্যা ছিল, তাই অনেক সময় স্ট্রিং ভেঙে যায় যার মানে MM অংশ 60 ছাড়িয়ে যেতে পারে এবং SS অংশ 60 ছাড়িয়ে যেতে পারে।
আমাদের ফাংশনটি স্ট্রিং-এ প্রয়োজনীয় পরিবর্তন করতে হবে এবং নতুন সংশোধন করা স্ট্রিং ফিরিয়ে দেবে।
উদাহরণস্বরূপ -
"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