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

หาผลคูณหลักของตัวเลข - JavaScript

หาผลคูณของทุกหลักในตัวเลข หากมีหลักเป็น 0 ให้ถือเป็น 1 (ไม่ให้ผลคูณเป็น 0)

ตัวอย่าง

5720 → 5 × 7 × 2 × 1(แทน 0) = 70

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

const num = 5720;

const recursiveProduct = (num, res = 1) => {
  if (num) {
    return recursiveProduct(Math.floor(num / 10), res * (num % 10 || 1));
  }
  return res;
};

console.log(recursiveProduct(num));

ผลลัพธ์

70

วิธีแบบ Iterative

const productOfDigits = num => {
  let product = 1;
  for (const digit of String(Math.abs(num))) {
    product *= +digit || 1;
  }
  return product;
};

ใช้ || 1 แทนที่ 0 ด้วย 1 ตรงในการคูณ