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

คำนวณความต่างของผลรวมเส้นทแยงในเมทริกซ์ 2 มิติด้วย JavaScript

สมมติว่าเรามีเมทริกซ์สี่เหลี่ยมจัตุรัสที่แสดงด้วยอาร์เรย์ 2 มิติใน JavaScript ดังนี้:

const arr = [
  [1, 3, 5],
  [3, 5, 7],
  [2, 4, 2]
];

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

เช่น สำหรับเมทริกซ์ข้างต้น การคำนวณจะเป็น:

|(1+5+2) - (5+5+2)|
|8 - 12|
4

ตัวอย่าง

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));

ผลลัพธ์

โค้ดนี้จะแสดงผลลัพธ์ดังต่อไปนี้บนคอนโซล:

4