在数组中使用递归,找到奇数并将其推送到新变量 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 ] }

更新于: 20-8-2020

372 次查看

开启你的 职业

完成本课程取得认证

开始
广告
© . All rights reserved.