JSFiddle - React, Tailwind, and code Playground

by danbeam

JavaScript

function print(pic) {
    function nl(px) { return px.join('\n'); }
    function sp(px) { return px.join(' '); }
    console.log(
        nl([
            sp(pic[0]),
            sp(pic[1]),
            sp(pic[2]),
            sp(pic[3])
        ])
    );
}

function transpose(pic) {
    var rotated = [[,,,,],
                   [,,,,],
                   [,,,,],
                   [,,,,]];
    for (var i = 0; i < 4; ++i) {
        for (var j = 0; j < 4; ++j) {
            rotated[j][3-i] = pic[i][j];
        }
    }
    return rotated;
}

var pic = [ [  1,  2,  3,  4 ],
            [   5,  6,  7,  8 ],
            [   9, 10, 11, 12 ],
            [  13, 14, 15, 16 ] ];
print(pic);
print(transpose(pic));