আমাদের একটি অ্যারে ফাংশন লিখতে হবে, ধরুন findMiddle যেটি অ্যারের দৈর্ঘ্যের বৈশিষ্ট্য অ্যাক্সেস না করে এবং কোনো প্রকার বিল্ট-ইন লুপ ব্যবহার না করেই এর মধ্যম উপাদানটি ফেরত দেয়৷ যদি অ্যারেটিতে বিজোড় সংখ্যক উপাদান থাকে তবে আমরা একটি, মধ্যমতমটি ফেরত দিই৷ উপাদান, অথবা যদি অ্যারেতে একটি জোড় সংখ্যক উপাদান থাকে, আমরা দুটি মধ্যম উপাদানের একটি অ্যারে ফেরত দিই।
তো, এই ফাংশনের জন্য কোড লিখি। আপনি ইতিমধ্যে অনুমান করেছেন, আমরা এই উপাদানগুলি খুঁজে বের করার জন্য পুনরাবৃত্তি ব্যবহার করব। রিকার্সিভ ফাংশনের কোড হবে −
উদাহরণ
const arr = [1, 2, 3, 4, 5, 6, 7]; const array = [1, 2, 3, 4, 5, 6, 7, 8]; const findMiddle = (arr, ind = 0) => { if(arr[ind]){ return findMiddle(arr, ++ind); }; return ind % 2 !== 0 ? [arr[(ind-1) / 2]] : [arr[(ind/2)-1], arr[ind/2]]; }; console.log(findMiddle(arr)); console.log(findMiddle(array));
আউটপুট
কনসোলে আউটপুট হবে −
[ 4 ] [ 4, 5 ]