Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาองค์ประกอบตรงกลางของอาร์เรย์โดยใช้การเรียกซ้ำ JavaScript


เราจำเป็นต้องเขียนฟังก์ชันอาร์เรย์ เช่น 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 ]