Viết hàm đệ quy tổng mảng số nhưng không được khởi tạo biến phụ (không dùng biến lưu tổng hoặc chỉ số).
Giải pháp: dùng chính phần tử đầu mảng (index 0) để lưu tổng trung gian. Lặp: pop phần tử cuối, cộng vào phần tử đầu, cho đến khi còn 1 phần tử → đó là tổng.
Ví dụ
const recursiveSum = arr => { if (arr.length > 1) { arr[0] += arr.pop(); return recursiveSum(arr); } return arr[0];};console.log(recursiveSum([1,2,3,4]));console.log(recursiveSum([1,2,3,4,3,6,3,32,7,9,5]));console.log(recursiveSum([]));Kết quả
Đầu ra trong console sẽ là:
10 75 undefined