在陣列中使用遞迴,找到奇數並將其推送到新變數 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 ] }
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP