Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีบวกสมาชิกที่ index เดียวกันในอาร์เรย์ของอาร์เรย์เป็นอาร์เรย์เดียว? JavaScript

เรามีอาร์เรย์ของอาร์เรย์ และต้องเขียนฟังก์ชันรับอาร์เรย์นี้ คืนอาร์เรย์ใหม่ที่เป็นผลรวมของสมาชิกที่ตรงกันของอาร์เรย์ต้นทาง

ถ้าอาร์เรย์ต้นทางคือ

[
  [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 นั้นมีอยู่แล้วหรือไม่ ถ้ามี บวกตัวเลขที่ตรงกันเข้าไป มิฉะนั้น ตั้งค่าให้เท่ากับตัวเลขนั้น