আমাদের একটি অ্যারে ফাংশন লিখতে হবে, যেনাম findMiddle, যা অ্যারের length প্রোপার্টি অ্যাক্সেস না করেই এবং কোনো বিল্ট-ইন লুপ ব্যবহার না করেই অ্যারের মাঝপথের এলিমেন্ট রিটার্ন করবে। যদি অ্যারেতে বিজোড় সংখ্যক এলিমেন্ট থাকে, তবে একটিই মাঝপথের এলিমেন্ট রিটার্ন করবে, আর যদি জোড় সংখ্যক থাকে তবে দুইটি মাঝপথের এলিমেন্ট ধারণকারী একটি অ্যারে রিটার্ন করবে।
তাহলে, এই ফাংশনের কোড লিখি। আপনি ইতিমধ্যে অনুমান করছেন, আমরা এখানে রিকার্সন ব্যবহার করব। রিকার্সিভ ফাংশনের কোড নিচে দেওয়া হলো:
উদাহরণ
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 ]