เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ของจำนวนเต็มเป็นอาร์กิวเมนต์แรก และตัวเลข n เป็นอาร์กิวเมนต์ที่สอง ฟังก์ชันต้องตรวจสอบว่ามีคู่ตัวเลขในอาร์เรย์ที่ตัวหนึ่งเป็นผลคูณ n ของอีกตัวหนึ่งหรือไม่
ถ้ามีคู่ดังกล่าว ให้คืนค่า true มิฉะนั้นคืนค่า false
ตัวอย่าง
ถ้าอาร์เรย์และตัวเลขเป็น:
const arr = [4, 2, 7, 8, 3, 9, 5]; const n = 4;
ผลลัพธ์ควรเป็น:
const output = true;
เพราะมีตัวเลข 2 และ 8 ในอาร์เรย์ และ 8 = 2 * 4
ตัวอย่างโค้ด
const arr = [4, 2, 7, 8, 3, 9, 5];
const n = 4;
const containsNthMultiple = (arr = [], n = 1) => {
const hash = new Set();
for(let i = 0; i < arr.length; i++) {
const el = arr[i];
const [left, right] = [el / n, el * n];
if(hash.has(left) || hash.has(right)) {
return true;
}
hash.add(el);
}
return false;
};
console.log(containsNthMultiple(arr, n));
ผลลัพธ์
true