@@ -8,19 +8,28 @@ export default function squareMatrixRotation(originalMatrix) {
8
8
// Do top-right/bottom-left diagonal reflection of the matrix.
9
9
for ( let rowIndex = 0 ; rowIndex < matrix . length ; rowIndex += 1 ) {
10
10
for ( let columnIndex = rowIndex + 1 ; columnIndex < matrix . length ; columnIndex += 1 ) {
11
- const tmp = matrix [ columnIndex ] [ rowIndex ] ;
12
- matrix [ columnIndex ] [ rowIndex ] = matrix [ rowIndex ] [ columnIndex ] ;
13
- matrix [ rowIndex ] [ columnIndex ] = tmp ;
11
+ // Swap elements.
12
+ [
13
+ matrix [ columnIndex ] [ rowIndex ] ,
14
+ matrix [ rowIndex ] [ columnIndex ] ,
15
+ ] = [
16
+ matrix [ rowIndex ] [ columnIndex ] ,
17
+ matrix [ columnIndex ] [ rowIndex ] ,
18
+ ] ;
14
19
}
15
20
}
16
21
17
22
// Do horizontal reflection of the matrix.
18
23
for ( let rowIndex = 0 ; rowIndex < matrix . length ; rowIndex += 1 ) {
19
24
for ( let columnIndex = 0 ; columnIndex < matrix . length / 2 ; columnIndex += 1 ) {
20
- const mirrorColumnIndex = matrix . length - columnIndex - 1 ;
21
- const tmp = matrix [ rowIndex ] [ mirrorColumnIndex ] ;
22
- matrix [ rowIndex ] [ mirrorColumnIndex ] = matrix [ rowIndex ] [ columnIndex ] ;
23
- matrix [ rowIndex ] [ columnIndex ] = tmp ;
25
+ // Swap elements.
26
+ [
27
+ matrix [ rowIndex ] [ matrix . length - columnIndex - 1 ] ,
28
+ matrix [ rowIndex ] [ columnIndex ] ,
29
+ ] = [
30
+ matrix [ rowIndex ] [ columnIndex ] ,
31
+ matrix [ rowIndex ] [ matrix . length - columnIndex - 1 ] ,
32
+ ] ;
24
33
}
25
34
}
26
35
0 commit comments