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

회문 배열 확인하기 - JavaScript

<시간/>

String / Number 리터럴 배열을 받아 원래 배열에서 회문이었던 모든 요소의 하위 배열을 반환하는 JavaScript 함수를 작성해야 합니다.

예를 들어 -

입력 배열이 -

인 경우
const arr = ['carecar', 1344, 12321, 'did', 'cannot'];

그러면 출력은 다음과 같아야 합니다. -

const output = [12321, 'did'];

숫자나 문자열을 받아서 그것이 부울인지 아닌지 확인하는 도우미 함수를 만들 것입니다. 그런 다음 배열을 반복하고 회문 요소를 필터링하고 필터링된 배열을 반환합니다.

예시

다음은 코드입니다 -

const arr = ['carecar', 1344, 12321, 'did', 'cannot'];
const isPalindrome = el => {
   const str = String(el);
   let i = 0;
   let j = str.length - 1;
   while(i < j) {
      if(str[i] === str[j]) {
         i++;
         j--;
      }
      else {
         return false;
      }
   }
   return true;
};
const findPalindrome = arr => {
   return arr.filter(el => isPalindrome(el));
};
console.log(findPalindrome(arr));

출력

이것은 콘솔에 다음과 같은 출력을 생성합니다 -

[ 12321, 'did' ]