Skip to content
Advertisement

Display table values vertically while keeping table structure

Been checking out other ways used to order array values vertically for use in a table but most of them were the equivalent of flipping your table 90 deg to the right. I’ve been trying to think of a way to properly implement this but I think I need some help.

For example, the table (horizontal order):

JavaScript

Is reordered to (vertical order):

JavaScript

As you can see the structure is retained since the last 2 cells are empty.

Not like this:

JavaScript

In this example, the table is akin to flipping it sideways. Does anyone know how to properly do this?

Advertisement

Answer

EDITED: This is harder than I thought and I messed it up the first time (or two). It should work now.

Let’s say you have your table structure stored in a two dimensional array:

JavaScript

Since you want to keep the same “shape” you need to determine the dimensions of the table. To do this we can take the count of the first row, since we know that the first row must be the maximum width of the table. The height is just the number of elements in the array.

JavaScript

We also need the total number of elements, but we can overestimate by taking $width * $height.

JavaScript

Then it’s really just a little math to calculate where things go. We have to use a separate counter for the old and new indices because we will have to increment them differently once we start to have holes.

JavaScript
User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement