<script>
const MAX = 100;
function
printSpiral(mat, r, c)
{
let i, a = 0, b = 2;
let low_row = (0 > a) ? 0 : a;
let low_column = (0 > b) ? 0 : b - 1;
let high_row = ((a + 1) >= r) ? r - 1 : a + 1;
let high_column = ((b + 1) >= c) ? c - 1 : b + 1;
while
((low_row > 0 - r && low_column > 0 - c)) {
for
(i = low_column + 1; i <= high_column &&
i < c && low_row >= 0; ++i)
document.write(mat[low_row][i] +
" "
);
low_row -= 1;
for
(i = low_row + 2; i <= high_row && i < r &&
high_column < c; ++i)
document.write(mat[i][high_column] +
" "
);
high_column += 1;
for
(i = high_column - 2; i >= low_column &&
i >= 0 && high_row < r; --i)
document.write(mat[high_row][i] +
" "
);
high_row += 1;
for
(i = high_row - 2; i > low_row && i >= 0
&& low_column >= 0; --i)
document.write(mat[i][low_column] +
" "
);
low_column -= 1;
}
document.write(
"<br>"
);
}
let mat = [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ];
let r = 3, c = 3;
printSpiral(mat, r, c);
</script>