# Change grid to count left-right, top-bottom?

I am trying to create a square grid of map coordinates with a `gridOrder` count that starts counting in the top left corner, left to right, top to bottom. Desired output:

`````` 1 | 2 | 3
---+---+---
4 | 5 | 6
---+---+---
7 | 8 | 9
``````

Currently, my code produces the following output:

`````` 3 | 6 | 9
---+---+---
2 | 5 | 8
---+---+---
1 | 4 | 7
``````

How can I adjust the code to assign a `gridOrder` count in the desired pattern?

``````import bbox from "@turf/bbox";
import { Units, point } from "@turf/helpers";
import pointGrid from "@turf/point-grid";
import buffer from "@turf/buffer";

const createGridCoordinates = (
numPointsPerSide: number,
gridDimension: number,
unitOfMeasure: Units
) => {
// Calculate the cell size
const cellSize = gridDimension / (numPointsPerSide - 1);

// Calculate half the grid size to find the distance from center to edges of bounding box
const halfGridSize = gridDimension / 2;

// Make the bounding box around a center point and a circle buffer radius
// Radius is extended by 10% of a cellSize (cellSize / 10) to include
// east and north edges when gridDimension is an exact multiple of the grid spacing
const boundingBox = bbox(
buffer(
point([centerCoordinates.lng, centerCoordinates.lat]),
halfGridSize + cellSize / 10,
{
units: unitOfMeasure,
}
)
);

// Make the grid. This is an array of grid coordinates.
const grid = pointGrid(boundingBox, cellSize, {
units: unitOfMeasure,
});

// Extract the coordinates from the grid and add gridOrder
const coordinatesGrid = grid.features.map((feature, index) => {
const [longitude, latitude] = feature.geometry.coordinates;
const coordinatesGridItem = {
coordinates: { lat: latitude, lng: longitude },
// Adjust the gridOrder pattern here
gridOrder: numPointsPerSide * Math.floor(index / numPointsPerSide) + (index % numPointsPerSide) + 1,
};
return coordinatesGridItem;
});

return coordinatesGrid;
};
``````

To assign the `gridOrder` count in the desired pattern, you can modify the calculation of the `gridOrder` value in the `map` function of the `coordinatesGrid` array. Replace the following line:

``````gridOrder: numPointsPerSide * Math.floor(index / numPointsPerSide) + (index % numPointsPerSide) + 1,
``````

with:

``````gridOrder: (index % numPointsPerSide) * numPointsPerSide + Math.floor(index / numPointsPerSide) + 1,
``````

This will produce the desired output pattern.