Viết hàm đệ quy pushRecursively() nhận mảng số, trả object {odd: [], even: []} không dùng vòng lặp.
Ví dụ
const arr = [12,4365,76,43,76,98,5,31,4]; const pushRecursively = (arr, len = 0, odd = [], even = []) => { if(len < arr.length){ arr[len] % 2 === 0 ? even.push(arr[len]) : odd.push(arr[len]); return pushRecursively(arr, ++len, odd, even); }; return { odd, even } }; console.log(pushRecursively(arr));Đệ quy tăng len, push vào odd/even theo chia 2, khi len = length thì trả object.
Kết quả
Đầu ra console:
{ odd: [ 4365, 43, 5, 31 ], even: [ 12, 76, 76, 98, 4 ] }