trying to solve this:

Create a function that receives a (square) matrix and calculates the sum of both diagonals (main and secondary)

Matrix = array of `n`

length whose elements are `n`

length arrays of integers.

3x3 example:

```
diagonals( [
[ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ]
] );
returns -> 30 // 1 + 5 + 9 + 3 + 5 + 7
```

i’m trying first with the primary diagonal and it returns ‘01,2,34,5,67,8,9’

here my code:

```
function sum(matrix) {
var primary = 0;
for (var i = 0; i < matrix.length; i++)
{primary = primary + matrix[i,i];}
return primary;
}
```

sitek94
#2
The problem lies here.

Inside property access brackets `matrix[ ...here...]`

is an expression.

For example:

```
var array = [1, 2, 3, 4, 5, 6];
var value = array[5 - 2]; // array[3]
// value === array[3] === 4
```

So when you try to access `matrix[i,i]`

it will be treated as a serie of comma separated operands and it will evaluate to the final one.

If you want to access a value in a matrix (two dimensional array), you have to access the values like so:

```
primary = primary + matrix[i][i];
```

Thanks a lot i will try again.

El El mar, 11 ago 2020 a las 14:31, Maciek Sitkowski via The freeCodeCamp Forum <freecodecamp@discoursemail.com> escribió: