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