在陣列中使用遞迴,找到奇數並將其推送到新變數 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.