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

ตรวจสอบผลรวมหลักของตัวเลขที่น้อยที่สุดในอาร์เรย์ (JavaScript)

ปัญหา

ฟังก์ชันรับอาร์เรย์ตัวเลข หาตัวเลขที่น้อยที่สุด แล้วคำนวณผลรวมของหลัก (digit sum) หากเป็นเลขคู่คืน true มิฉะนั้น false

ตัวอย่าง

const arr = [12, 657, 23, 56, 34, 678, 42];

ตัวเลขน้อยสุดคือ 12 → 1+2=3 (คี่) → ผลลัพธ์ false

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

const arr = [12, 657, 23, 56, 34, 678, 42]; 
const addDigits = (num = 1, sum = 0) => { 
  if(!num){ return sum; } 
  return addDigits(Math.floor(num / 10), sum + (num % 10)); 
}; 
const findSmallest = (arr = []) => arr.reduce((acc, val) => Math.min(acc, val)); 
const checkSmallestSum = (arr = []) => { 
  const smallest = findSmallest(arr); 
  const smallestSum = addDigits(smallest); 
  return smallestSum % 2 === 0; 
}; 
console.log(checkSmallestSum(arr));

ผลลัพธ์

false