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

การตรวจสอบ Pandigital Number - JavaScript

Pandigital Number คือตัวเลขที่มีตัวเลข 0-9 ครบทุกตัวอย่างน้อย 1 ครั้ง

ตัวอย่าง

'47458892414'       → false (ขาด 0, 3, 6)
'53657687691428890' → true (มี 0-9 ครบ)

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

const numStr1 = '47458892414';
const numStr2 = '53657687691428890';

const isPandigital = numStr => {
  let legend = ['0','1','2','3','4','5','6','7','8','9'];
  for (let i = 0; i < numStr.length; i++) {
    if (!legend.includes(numStr[i])) continue;
    legend.splice(legend.indexOf(numStr[i]), 1);
  }
  return !legend.length; // legend ว่าง → ครบทุกตัว
};

console.log(isPandigital(numStr1)); // false
console.log(isPandigital(numStr2)); // true

วิธีที่ทันสมัยกว่า (Set)

const isPandigital = numStr =>
  new Set(numStr).size === 10 && /^[0-9]+$/.test(numStr);

ผลลัพธ์

false
true