数组中的递归以查找奇数并推送到新的变量JavaScript
我们需要编写一个递归函数,例如pushRecursively()
,它接受一个数字数组并返回一个包含奇数和偶数属性的对象,其中,奇数是输入数组中的奇数数组,甚至是输入数组中的偶数数组。这必须使用递归来完成,并且不应使用任何类型的循环方法。
示例
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));
当len变量到达数组末尾时,我们继续递归调用该函数,每次将奇数值推入奇数数组,将偶数推入偶数数组,一旦len变量等于数组长度,我们退出函数返回物体。
输出结果
该代码在控制台中的输出将为-
{ odd: [ 4365, 43, 5, 31 ], even: [ 12, 76, 76, 98, 4 ] }