เรามีอาร์เรย์ของอาร์เรย์ และต้องเขียนฟังก์ชันรับอาร์เรย์นี้ คืนอาร์เรย์ใหม่ที่เป็นผลรวมของสมาชิกที่ตรงกันของอาร์เรย์ต้นทาง
ถ้าอาร์เรย์ต้นทางคือ
[ [43, 2, 21], [1, 2, 4, 54], [5, 84, 2], [11, 5, 3, 1] ]
ผลลัพธ์ควรเป็น
[60, 93, 30, 55]
เขียนฟังก์ชัน addArray() ตัวอย่าง
ตัวอย่าง
const arr = [
[43, 2, 21],[1, 2, 4, 54],[5, 84, 2],[11, 5, 3, 1]
];
const sumArray = (array) => {
const newArray = [];
array.forEach(sub => {
sub.forEach((num, index) => {
if(newArray[index]){
newArray[index] += num;
}else{
newArray[index] = num;
}
});
});
return newArray;
}
console.log(sumArray(arr));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น
[ 60, 93, 30, 55 ]
ข้างต้น เราวนลูปผ่านแต่ละสมาชิกของอาร์เรย์ต้นทาง และแต่ละตัวเลข ตรวจสอบว่าผลรวมของ index นั้นมีอยู่แล้วหรือไม่ ถ้ามี บวกตัวเลขที่ตรงกันเข้าไป มิฉะนั้น ตั้งค่าให้เท่ากับตัวเลขนั้น