我们需要编写一个JavaScript函数,该函数接受String / Number文字数组,并返回原始数组中所有回文元素的子数组。
例如-
如果输入数组是-
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' ]