ปัญหา
เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ 2 มิติของตัวเลข ฟังก์ชันควรเลือกตัวเลขน้อยที่สุดจากแต่ละแถวของอาร์เรย์ 2 มิติ แล้วคืนค่าผลรวมของตัวเลขน้อยที่สุดเหล่านั้น
ตัวอย่าง
โค้ดตัวอย่างด้านล่าง:
const arr = [
[2, 5, 1, 6],
[6, 8, 5, 8],
[3, 6, 7, 5],
[9, 11, 13, 12]
];
const sumSmallest = (arr = []) => {
const findSmallest = array => array.reduce((acc, val) => {
return Math.min(acc, val);
}, Infinity);
let sum = 0;
arr.forEach(sub => {
sum += findSmallest(sub);
});
return sum;
};
console.log(sumSmallest(arr));
ผลลัพธ์
18
คำอธิบายเพิ่มเติม
แถว 1: min=1, แถว 2: min=5, แถว 3: min=3, แถว 4: min=9 → 1+5+3+9=18 โค้ดใช้ reduce หา min เริ่มจาก Infinity