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

更新於:2020-10-21

239 次瀏覽

開啟你的職業生涯

完成課程獲得認證

入門
廣告