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

การหาผลรวมของจำนวนเฉพาะในอาร์เรย์ด้วย JavaScript

บทความนี้จะสาธิตวิธีเขียนฟังก์ชัน JavaScript เพื่อคำนวณผลรวมของจำนวนเฉพาะ (prime numbers) ทั้งหมดที่มีอยู่ในอาร์เรย์ของตัวเลข

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

const arr = [43, 6, 6, 5, 54, 81, 71, 56, 8, 877, 4, 4];

const isPrime = n => {
  if (n === 1) {
    return false;
  } else if (n === 2) {
    return true;
  } else {
    for (let x = 2; x < n; x++) {
      if (n % x === 0) {
        return false;
      }
    }
    return true;
  }
};

const primeSum = arr => {
  let sum = 0;
  for (let i = 0; i < arr.length; i++) {
    if (!isPrime(arr[i])) {
      continue;
    }
    sum += arr[i];
  }
  return sum;
};

console.log(primeSum(arr));

ผลลัพธ์

996

คำอธิบาย

ฟังก์ชัน isPrime ตรวจสอบว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่ โดยการหารด้วยทุกตัวเลขตั้งแต่ 2 ถึง n-1 หากหารลงตัวก็จะคืนค่า false

ฟังก์ชัน primeSum วนลูปผ่านอาร์เรย์ ใช้ isPrime ตรวจสอบแต่ละค่า และสะสมผลรวมเฉพาะค่าที่เป็นจำนวนเฉพาะเท่านั้น

ในตัวอย่าง อาร์เรย์มีจำนวนเฉพาะคือ 43, 5, 71, 877 ซึ่งรวมกันได้ 996