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' ]