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

재귀 JavaScript를 사용하여 배열의 중간 요소 찾기

<시간/>

길이 속성에 액세스하지 않고 내장 루프를 사용하지 않고 배열의 가장 중간 요소를 반환하는 findMiddle과 같은 배열 함수를 작성해야 합니다. 배열에 홀수 개수의 요소가 포함되어 있으면 가장 중간에 있는 요소를 반환합니다. 요소 또는 배열에 짝수개의 요소가 포함된 경우 가장 중간에 있는 두 요소의 배열을 반환합니다.

따라서 이 함수에 대한 코드를 작성해 보겠습니다. 이미 짐작하셨겠지만, 우리는 이러한 요소를 찾기 위해 재귀를 사용할 것입니다. 재귀 함수의 코드는 -

예시

const arr = [1, 2, 3, 4, 5, 6, 7];
const array = [1, 2, 3, 4, 5, 6, 7, 8];
const findMiddle = (arr, ind = 0) => {
   if(arr[ind]){
      return findMiddle(arr, ++ind);
   };
   return ind % 2 !== 0 ? [arr[(ind-1) / 2]] : [arr[(ind/2)-1],
   arr[ind/2]];
};
console.log(findMiddle(arr));
console.log(findMiddle(array));

출력

콘솔의 출력은 -

[ 4 ]
[ 4, 5 ]