เราต้องเขียนฟังก์ชันตรวจสอบว่าสตริงเป็น palindrome หรือไม่ โดยต้องลบสัญลักษณ์อักขระพิเศษและแปลงเป็นตัวพิมพ์เล็กก่อนตรวจสอบ
เงื่อนไข: case-insensitive, ไม่สนใจ punctuation
ตัวอย่างโค้ด
const str = 'dr. awkward';
const isPalindrome = (str = '') => {
const regex = /[^A-Za-z0-9]/g;
str = str.toLowerCase().replace(regex, '');
let len = str.length;
for (let i = 0; i < len/2; i++) {
if (str[i] !== str[len - 1 - i]) { return false; }
}
return true;
};
console.log(isPalindrome(str));
ผลลัพธ์
ค่าที่แสดงในคอนโซลจะเป็นดังนี้:
true