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