เราจำเป็นต้องเขียนฟังก์ชัน 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' ]