কম্পিউটার

জাভাস্ক্রিপ্টে একটি অ্যারের থেকে একটি ক্রম তৈরি করুন


ধরুন আমাদের কাছে এইরকম সংখ্যার একটি সাজানো অ্যারে আছে যেখানে আমাদের পরপর সংখ্যা থাকতে পারে।

const arr = [1, 2, 3, 5, 7, 8, 9, 11];

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

আমাদের ফাংশন এই অ্যারের জন্য একটি ক্রম গঠন করা উচিত. ক্রমটি এমন হওয়া উচিত যে অ্যারের সমস্ত ক্রমাগত উপাদানগুলির জন্য, আমাদের কেবলমাত্র শুরু এবং শেষ সংখ্যাগুলি লিখতে হবে এবং একটি ড্যাশ (-) দিয়ে সংখ্যাগুলি প্রতিস্থাপন করতে হবে এবং অন্যান্য সমস্ত সংখ্যা অপরিবর্তিত রাখতে হবে৷

অতএব, উপরের অ্যারের জন্য, আউটপুটটি −

এর মত হওয়া উচিত
const output = '1-3,5,7-9,11';

উদাহরণ

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

const arr = [1, 2, 3, 5, 7, 8, 9, 11];
const buildSequence = (arr = []) => {
   let pointer;
   return arr.reduce((acc, val, ind) => {
      if (val + 1 === arr[++ind]) {
         if (pointer == null ) {
            pointer = val;
         };
         return acc;
      };
      if (pointer) {
         acc.push(`${pointer}-${val}`);
         pointer = null;
         return acc;
      }
      acc.push(val);
      return acc;
   }, []).join(',');
}
console.log(buildSequence(arr));

আউটপুট

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

1-3,5,7-9,11

  1. জাভাস্ক্রিপ্ট অ্যারে শিফট()

  2. জাভাস্ক্রিপ্ট অ্যারে বিপরীত()

  3. JavaScript array.keys()

  4. JavaScript Array.isArray()