Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ตรวจสอบอาร์เรย์หาคำอ่านซ้ำ (palindrome) - JavaScript

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