สมมติว่าเรามีเมทริกซ์สี่เหลี่ยมจัตุรัสที่แสดงด้วยอาร์เรย์ 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