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

ตรวจสอบอาร์เรย์พาลินโดรม (Palindrome Array) - JavaScript

ตรวจสอบว่าอาร์เรย์อ่านจากหน้าหลังได้เหมือนกัน (Palindrome) โดยเปรียบเทียบค่ากลาง

ตัวอย่างโค้ด

const arr = [1, 5, 7, 4, 15, 4, 7, 5, 1];

const isPalindrome = arr => {
  const len = arr.length;
  const mid = Math.floor(len / 2);
  
  for (let i = 0; i <= mid; i++) {
    if (arr[i] !== arr[len - i - 1]) {
      return false;
    }
  }
  return true;
};

console.log(isPalindrome(arr));

ผลลัพธ์

true

วิธีแบบ ES6+ (สั้นกว่า)

const isPalindrome = arr => 
  arr.every((val, i) => val === arr[arr.length - 1 - i]);

// หรือ
const isPalindrome2 = arr => 
  JSON.stringify(arr) === JSON.stringify([...arr].reverse());

every() หยุดทันทีที่เจอ false (short-circuit) ประหยัดเวลา