เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของสตริง/ตัวเลข และคืนค่า subarray ของสมาชิกที่เป็น palindrome ในอาร์เรย์เดิม
ตัวอย่างเช่น หากอาร์เรย์อินพุตคือ:
const arr = ['carecar', 1344, 12321, 'did', 'cannot'];
ผลลัพธ์ควรเป็น:
const output = [12321, 'did'];
เราจะสร้างฟังก์ชันช่วยที่รับตัวเลขหรือสตริงและตรวจสอบว่าเป็น palindrome หรือไม่ จากนั้นวนลูปผ่านอาร์เรย์ กรองสมาชิกที่เป็น 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' ]