คำนวณผลรวมของการคูณคู่ติดกัน: index 0×1 + 2×3 + 4×5 + ...
ตัวอย่าง
[1, 2, 4, 1, 2, 3, 4, 3] → 1×2 + 4×1 + 2×3 + 4×3 → 2 + 4 + 6 + 12 = 24
ตัวอย่างโค้ด
const arr = [1, 2, 4, 1, 2, 3, 4, 3];
const alternateOperation = arr => {
const productArr = arr.reduce((acc, val, ind) => {
if (ind % 2 === 1) return acc;
acc.push(val * (arr[ind + 1] || 1));
return acc;
}, []);
return productArr.reduce((acc, val) => acc + val);
};
console.log(alternateOperation(arr));
ผลลัพธ์
24
วิธีแบบลูป for (เข้าใจง่ายกว่า)
const alternateOperation = arr => {
let sum = 0;
for (let i = 0; i < arr.length; i += 2) {
sum += arr[i] * (arr[i + 1] || 1);
}
return sum;
};
จัดการกรณีอาร์เรย์คี่ (odd length) ด้วย || 1 คูณตัวสุดท้ายด้วย 1