কম্পিউটার

জাভাস্ক্রিপ্টে ফর্ম্যাটিং সফ্টওয়্যার লাইসেন্স কী


সমস্যা

আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি স্ট্রিং স্ট্রিং নেয়, প্রথম আর্গুমেন্ট হিসাবে এবং একটি পূর্ণসংখ্যা হিসাবে, দ্বিতীয় আর্গুমেন্ট হিসাবে n। স্ট্রিং স্ট্রিং আলফানিউমেরিক অক্ষর এবং ড্যাশের সমন্বয়ে গঠিত।

ড্যাশগুলি স্ট্রিংয়ের মধ্যে আলফানিউমেরিক অক্ষরগুলিকে দলে ভাগ করে। (অর্থাৎ n ড্যাশ থাকলে, স্ট্রিংটি n+1 গ্রুপে বিভক্ত)। প্রদত্ত স্ট্রিং-এর ড্যাশগুলি সম্ভবত ভুলভাবে স্থানান্তরিত হয়েছে৷

আমরা চাই অক্ষরের প্রতিটি গ্রুপ কে দৈর্ঘ্যের হোক (সম্ভবত প্রথম গ্রুপটি বাদে, যা ছোট হতে পারে, কিন্তু তবুও অন্তত একটি অক্ষর থাকতে হবে)।

এই প্রয়োজনীয়তা সন্তুষ্ট করতে, আমরা ড্যাশ পুনরায় সন্নিবেশ করা হবে. তাছাড়া, আমাদের ফাংশনের স্ট্রিং-এর সমস্ত ছোট হাতের অক্ষরকে বড় হাতের অক্ষরে রূপান্তর করতে হবে।

উদাহরণস্বরূপ, যদি ফাংশনে ইনপুট হয় −

const str = '8-4B0t37-k';
const num = 4;

তারপর আউটপুট −

হওয়া উচিত
const output = '84B0-T37K';

আউটপুট ব্যাখ্যা:

স্ট্রিং স্ট্র দুটি ভাগে বিভক্ত করা হয়েছে, প্রতিটি অংশে 4টি অক্ষর রয়েছে৷

উদাহরণ

এর জন্য কোড হবে −

const str = '8-4B0t37-k';
const num = 4;
const formatKey = (str = '', num = 1) => {
   let acc = '';
   let flag = num;
   for(let i = str.length - 1; i >= 0; i--){
      const char = str.charAt(i);
      if(char !== '-') {
         if(flag === 0) {
            acc = `-${acc}`;
            flag = num;
         };
         acc = `${char.toUpperCase()}${acc}`;
         flag -= 1;
      };
   };
   return acc;
};
console.log(formatKey(str, num));

কোড ব্যাখ্যা

আমাদের ফাংশন formatKey()-এ আমরা যে পদক্ষেপগুলি নিয়েছি তা হল −

  • আমরা বিপরীতভাবে পুনরাবৃত্তি করেছি, যাতে আমরা অবশিষ্ট অক্ষর

  • আমরা সন্নিবেশিত অক্ষর গণনা রাখা. এবং যখন এটি 0 ছিল, আমরা ড্যাশ সন্নিবেশ করান এবং সংখ্যাতে রিসেট করি।

আউটপুট

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

84B0-T37K

  1. JavaScript - পরিবর্তনশীল দ্বারা অবজেক্ট কী সেট করুন

  2. জাভাস্ক্রিপ্টে কী-ইভেন্ট ব্যাখ্যা কর?

  3. নতুন অ্যারেতে জাভাস্ক্রিপ্ট অবজেক্ট ফরম্যাটিং

  4. জাভাস্ক্রিপ্টে কী প্রেস ইভেন্ট লিখবেন?