ধরুন, আমাদের কাছে নম্বর লিটারেলের একটি অ্যারে রয়েছে যাতে কিছু ধারাবাহিক রিডানডেন্টেন্ট্রি রয়েছে -
const testArr = [1, 1, 2, 2, 3, 3, 1, 1, 1];
আমরা একটি ফাংশন কম্প্রেস লিখতে অনুমিত হয় যা এই অ্যারেতে নেয় এবং সমস্ত অপ্রয়োজনীয় পরপর এন্ট্রি সরিয়ে দেয়। যাতে আউটপুট এইরকম দেখায় -
const output = [1, 2, 3, 1];
আসুন এই ফাংশনের জন্য কোডটি লিখি, আমরা এটির জন্য পুনরাবৃত্তি ব্যবহার করব এবং এর জন্য কোডটি হবে −
উদাহরণ
const testArr = [1, 1, 2, 2, 3, 3, 1, 1, 1]; const compress = (arr, len = 0, canDelete = false) => { if(len < arr.length){ if(canDelete){ arr.splice(len, 1); len--; } return compress(arr, len+1, arr[len] === arr[len+1]) }; return; }; compress(testArr); console.log(testArr);
আউটপুট
কনসোলে আউটপুট হবে −
[ 1, 2, 3, 1 ]