Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

홀수를 찾고 새로운 변수 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 ] }