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