ปัญหา
ฟังก์ชันรับอาร์เรย์ตัวเลข หาตัวเลขที่น้อยที่สุด แล้วคำนวณผลรวมของหลัก (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