สร้างอาร์เรย์ใหม่จากผลบวกของคู่สมาชิกติดกัน (pairwise sum)
ตัวอย่าง
Input: [3, 6, 3, 87, 3, 23, 2, 2, 6, 8] Pairs: (3+6), (3+87), (3+23), (2+2), (6+8) Output: [9, 90, 26, 4, 14]
ตัวอย่างโค้ด
const arr = [3, 6, 3, 87, 3, 23, 2, 2, 6, 8];
const twiceSum = arr => {
const res = [];
for (let i = 0; i < arr.length; i += 2) {
res.push(arr[i] + (arr[i + 1] || 0));
}
return res;
};
console.log(twiceSum(arr));
การทำงาน
- ลูปกระโดดทีละ 2 (
i += 2) arr[i + 1] || 0จัดการกรณีคี่ (ไม่มีคู่)
ผลลัพธ์
[ 9, 90, 26, 4, 14 ]