บวกเฉพาะเลขคู่ใน Array
แก้ไขข้อผิดพลาดจากโค้ดต้นฉบับ: เงื่อนไข Loop ควรเป็น i < a.length ไม่ใช่ i > a.length
ตัวอย่างที่แก้ไขแล้ว
<html> <body> <script>
var tot = 0;
var a = [1, 45, 78, 9, 78, 40, 67, 76];
for (var i = 0; i < a.length; i++) { // แก้จาก i > a.length
if (a[i] % 2 === 0) { // เศษหาร 2 เท่ากับ 0 = เลขคู่
tot += a[i];
}
}
document.write(tot);
</script> </body> </html>
ผลลัพธ์
272
คำอธิบาย
เลขคู่ใน Array: 78 + 78 + 40 + 76 = 272
วิธีเขียนทันสมัย (ES6+)
const sumEven = arr => arr.filter(n => n % 2 === 0).reduce((a, b) => a + b, 0);
console.log(sumEven([1, 45, 78, 9, 78, 40, 67, 76])); // 272