在 JavaScript 中过滤数组以包含回文元素

javascriptweb developmentfront end technologyobject oriented programming更新于 2026/2/4 7:40:17

我们需要编写一个 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' ]

相关文章


有用资源