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

หาความต่างระหว่างหลักมากที่สุดและน้อยที่สุดในตัวเลข - JavaScript

หาตัวเลขที่มากที่สุดและน้อยที่สุดในหลักของตัวเลข แล้วคำนวณความต่าง

ตัวอย่าง

44353456 → หลักมากสุด = 6, น้อยสุด = 3 → ความต่าง = 3

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

const num = 44353456;

const difference = (num, min = Infinity, max = -Infinity) => {
  if (num) {
    const digit = num % 10;
    return difference(Math.floor(num / 10), Math.min(digit, min), Math.max(digit, max));
  }
  return max - min;
};

console.log(difference(num));

ผลลัพธ์

3

วิธีแบบ Iterative (เข้าใจง่ายกว่า)

const difference = num => {
  const digits = String(Math.abs(num)).split('').map(Number);
  return Math.max(...digits) - Math.min(...digits);
};

แปลงเป็นสตริง → แยกตัวอักษร → แปลงเป็นตัวเลข → หา max/min