Giả sử, chúng ta có một ma trận vuông được biểu diễn bằng mảng 2-D trong JavaScript như thế này -
const arr = [ [1, 3, 5], [3, 5, 7], [2, 4, 2] ];
Chúng tôi được yêu cầu viết một hàm JavaScript có trong một mảng như vậy.
Hàm sẽ trả về sự khác biệt giữa tổng các phần tử có tại các đường chéo của ma trận.
Giống như ma trận trên, các phép tính sẽ -
|(1+5+2) - (5+5+2)| |8 - 12| 4
Ví dụ
Sau đây là mã -
const arr = [ [1, 3, 5], [3, 5, 7], [2, 4, 2] ]; const diagonalDiff = arr => { let sum = 0; for (let i = 0, l = arr.length; i < l; i++){ sum += arr[i][l - i - 1] - arr[i][i]; }; return Math.abs(sum); } console.log(diagonalDiff(arr));
Đầu ra
Điều này sẽ tạo ra kết quả sau trên bảng điều khiển -
4