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

หาความต่างระหว่างผลรวมหลักตำแหน่งคู่และคี่ใน JavaScript

โจทย์

หาความต่างของผลรวมหลักตำแหน่งคู่และคี่ (absolute difference)

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

const num = 345336; 
const evenOddDifference = (num, res = 0, ind = 0) => { 
  if(num){ 
    if(ind % 2 === 0){ 
      res += num % 10; 
    }else{ 
      res -= num % 10; 
    }; 
  }; 
  return Math.abs(res); 
}; 
console.log(evenOddDifference(num));

ผลลัพธ์

2

คำอธิบาย

Recursive function วนจากหลักหน่วย (index 0 = odd position)
index even (0,2,4...) → บวก (odd position จากขวา)
index odd (1,3,5...) → ลบ (even position จากขวา)
345336: digits จากขวา 6,3,3,5,4,3
Odd pos (0,2,4): 6+3+4=13
Even pos (1,3,5): 3+5+3=11
Diff = |13-11| = 2