Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การกรองอาร์เรย์ให้มีองค์ประกอบ palindrome ใน JavaScript


เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของตัวอักษร String / Number และส่งคืนอาร์เรย์ย่อยขององค์ประกอบทั้งหมดที่เป็นพาลินโดรมในอาร์เรย์ดั้งเดิม

ตัวอย่าง

หากอาร์เรย์อินพุตเป็น −

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

จากนั้นผลลัพธ์ควรเป็น −

const output = [12321, 'did'];

เราจะสร้างฟังก์ชันตัวช่วยที่ใช้ตัวเลขหรือสตริงและตรวจสอบว่าเป็นบูลีนหรือไม่

จากนั้นเราจะวนรอบอาร์เรย์ กรององค์ประกอบ palindrome และส่งคืนอาร์เรย์ที่กรองแล้ว

ดังนั้น เรามาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

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