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

การคำนวณ Digit Distance ระหว่างสองตัวเลข - JavaScript

Digit Distance คือผลรวมของความต่างสัมบูรณ์ระหว่างตัวเลขหลักที่ตรงกันของสองตัวเลข

ตัวอย่าง

345 และ 678
|3-6| + |4-7| + |5-8| = 3 + 3 + 3 = 9

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

const num1 = 345;
const num2 = 678;

const digitDistance = (a, b) => {
  const aStr = String(a);
  const bStr = String(b);
  let diff = 0;

  for (let i = 0; i < aStr.length && i < bStr.length; i++) {
    diff += Math.abs(+(aStr[i] || 0) - +(bStr[i] || 0));
  }

  return diff;
};

console.log(digitDistance(num1, num2));

การทำงาน

  • แปลงตัวเลขเป็นสตริงเพื่อเข้าถึงแต่ละหลัก
  • วนลูปเปรียบเทียบหลักที่ตำแหน่งเดียวกัน
  • +(str[i] || 0) - แปลงเป็นตัวเลข ถ้าไม่มีหลักให้เป็น 0
  • สะสม Math.abs() ของความต่าง

ผลลัพธ์

9

ประยุกต์ใช้: การเปรียบเทียบความคล้ายคลึงของตัวเลข การตรวจสอบรหัส การวิเคราะห์ข้อมูลตัวเลข