檢查陣列中是否有迴文 - JavaScript  


我們需要編寫一個 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' ]

更新於: 18-Sep-2020

885 瀏覽

開啟你的 職業生涯

完成該課程可獲得認證

開始
廣告
© . All rights reserved.