Viết hàm findMiddle trả về phần tử giữa mảng mà không truy cập thuộc tính length và không dùng vòng lặp. Nếu mảng có số phần tử lẻ, trả về phần tử giữa đơn lẻ; nếu chẵn, trả về mảng hai phần tử giữa.
Sử dụng đệ quy để tìm các phần tử này:
Ví dụ
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));Kết quả
Đầu ra trong console sẽ là:
[ 4 ] [ 4, 5 ]