Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm phần tử giữa mảng không dùng length/loop - JavaScript

Viết hàm đệ quy tìm phần tử giữa mảng không dùng .length và không dùng loop.

  • Số phần tử lẻ: trả về phần tử giữa
  • Số phần tử chẵn: trả về mảng 2 phần tử giữa

Giải pháp

Mã triển khai (đệ quy đếm độ dài):

const arr = [14, 32, 36, 42, 45, 66, 87];      // 7 phần tử
const array = [13, 92, 83, 74, 55, 46, 74, 82]; // 8 phần tử

const midElement = (arr, ind = 0) => {
  // Đệ quy tìm độ dài
  if (arr[ind] !== undefined) {
    return midElement(arr, ind + 1);
  }
  // ind = length
  if (ind % 2 === 1) { // lẻ
    return [arr[(ind - 1) / 2]];
  } else { // chẵn
    return [arr[ind/2 - 1], arr[ind/2]];
  }
};

console.log(midElement(arr));    // [42]
console.log(midElement(array));  // [74, 55]

Kết quả

Đầu ra trong console:

[42]
[74, 55]