เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับค่าตัวเลขและส่งคืนอาร์เรย์ของจำนวนเฉพาะทั้งหมดที่แบ่งจำนวนอินพุตได้อย่างแม่นยำ
ตัวอย่างเช่น หากตัวเลขที่ป้อนคือ 18
จากนั้นผลลัพธ์ควรเป็น −
const output = [2, 3];
ตัวอย่าง
มาเขียนโค้ดสำหรับฟังก์ชันนี้กัน −
const num = 18; const isPrime = (n) => { for(let i = 2; i <= n/2; i++){ if(n % i === 0){ return false; } }; return true; }; const findPrimeFactors = num => { const res = num % 2 === 0 ? [2] : []; let start = 3; while(start <= num){ if(num % start === 0){ if(isPrime(start)){ res.push(start); }; }; start++; }; return res; }; console.log(findPrimeFactors(18));
ผลลัพธ์
ผลลัพธ์ในคอนโซล:−
[2, 3]