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

การค้นหาตัวเลขและผลคูณ n ของมันในอาร์เรย์ด้วย JavaScript

เราต้องเขียนฟังก์ชัน 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