Tổng cột của các phần tử mảng 2D trong JavaScript
Chúng ta có một mảng các mảng và cần viết một hàm nhận vào mảng này và trả về một mảng mới đại diện cho tổng của các phần tử tương ứng của mảng gốc.
Nếu mảng gốc là:
[ [43, 2, 21], [1, 2, 4, 54], [5, 84, 2], [11, 5, 3, 1] ]
Đầu ra
Thì kết quả đầu ra nên là:
[60, 93, 30, 55]
Hãy viết hàm addArray():
Ví dụ
Mã đầy đủ cho hàm này sẽ là:
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));
Ở đây chúng ta lặp qua từng phần tử của mảng gốc và sau đó từng số, kiểm tra xem tổng của chỉ số đó đã tồn tại chưa, nếu có thì cộng số tương ứng vào, ngược lại thiết lập số tương ứng bằng nó.
Đầu ra
Kết quả trong console sẽ là:
[ 60, 93, 30, 55 ]