เราจำเป็นต้องเขียนฟังก์ชันอาร์เรย์ midElement() ที่ส่งคืนองค์ประกอบที่อยู่ตรงกลางสุดของอาร์เรย์โดยไม่ต้องเข้าถึงคุณสมบัติความยาวและไม่ต้องใช้ลูปในตัวใดๆ
หากอาร์เรย์มีจำนวนองค์ประกอบเป็นเลขคี่ เราจะคืนค่าหนึ่งองค์ประกอบที่อยู่ตรงกลางสุด หรือหากอาร์เรย์มีจำนวนองค์ประกอบที่เป็นคู่ เราจะคืนค่าอาร์เรย์ขององค์ประกอบที่อยู่ตรงกลางสุดสองรายการ
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const arr = [14, 32, 36, 42, 45, 66, 87]; const array = [13, 92, 83, 74, 55, 46, 74, 82]; const midElement = (arr, ind = 0) => { if(arr[ind]){ return midElement(arr, ++ind); }; return ind % 2 !== 0 ? [arr[(ind-1) / 2]] : [arr[(ind/2)-1], arr[ind/2]]; }; console.log(midElement(arr)); console.log(midElement(array));
ผลลัพธ์
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ในคอนโซล -
[ 42 ] [ 74, 55 ]