- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# JavaScript Program to Find difference between sums of two diagonals

We will be finding the difference between the sums of two diagonals of a square matrix. Firstly, we will calculate the sum of the elements present in the first diagonal by traversing the matrix starting from the top left corner to the bottom right corner. Secondly, we will calculate the sum of the elements present in the second diagonal by traversing the matrix starting from the top right corner to the bottom left corner. Finally, we will subtract the sum of the second diagonal from the sum of the first diagonal to get the difference between the two diagonals.

## Approach

To find the difference between the sums of two diagonals of a square matrix, the first step is to define a function that takes the matrix as an input.

Next, you need to loop through the matrix and calculate the sum of elements present in the first diagonal (top left to bottom right).

Similarly, calculate the sum of elements present in the second diagonal (top right to bottom left)

Subtract the second diagonal sum from the first diagonal sum and store the result in a variable.

Return the result variable, which would be the difference between the sums of two diagonals of the square matrix.

## Example

Here is a JavaScript program to find the difference between the sums of two diagonals of a matrix −

function diagonalDifference(arr) { let leftToRightDiagonalSum = 0; let rightToLeftDiagonalSum = 0; let matrixSize = arr.length; for (let i = 0; i < matrixSize; i++) { leftToRightDiagonalSum += arr[i][i]; rightToLeftDiagonalSum += arr[i][matrixSize - 1 - i]; } return Math.abs(leftToRightDiagonalSum - rightToLeftDiagonalSum); } let matrix = [[1, 2, 3], [4, 5, 6], [9, 8, 9]]; console.log(diagonalDifference(matrix));

## Explanation

The function

**diagonalDifference**takes a 2-dimensional array (matrix) as an argument.Two variables

**leftToRightDiagonalSum**and**rightToLeftDiagonalSum**are declared to store the sum of left-to-right diagonal and right-to-left diagonal respectively.The size of the matrix is stored in the

**matrixSize**variable.A for loop is used to iterate through the matrix. In each iteration, the current value in the matrix is added to both diagonals' sums.

To calculate the left-to-right diagonal sum, the value at the same position in both the row and the column is added to the

**leftToRightDiagonalSum.**To calculate the right-to-left diagonal sum, the value at the same position in the row as the column is subtracted from

**matrixSize - 1.**This is because the right-to-left diagonal runs in the opposite direction to the left-to-right diagonal.The absolute difference between the two diagonal sums is calculated using the

**Math.abs**function and returned as the result.A sample matrix is declared and passed to the

**diagonalDifference**function, and the result is logged to the console.

The output of this program should be 2, which is the difference between the sums of the two diagonals of the sample matrix.