Computer >> Máy Tính >  >> Lập trình >> Javascript

Lọc mảng để chứa các phần tử palindrome trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một mảng các ký tự Chuỗi / Số và trả về một mảng con của tất cả các phần tử là palindrome trong mảng ban đầu.

Ví dụ

Nếu mảng đầu vào là -

const arr = ['carecar', 1344, 12321, 'did', 'cannot'];

Sau đó, kết quả đầu ra phải là -

const output = [12321, 'did'];

Chúng tôi sẽ tạo một hàm trợ giúp nhận vào một số hoặc một chuỗi và kiểm tra xem nó có phải là boolean hay không.

Sau đó, chúng tôi sẽ lặp qua mảng, lọc các phần tử palindrome và trả về mảng đã lọc.

Do đó, hãy viết mã cho chức năng này -

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Đầu ra trong bảng điều khiển sẽ là -

[ 12321, 'did' ]