I don’t understand the connection you have between the link/category and image. There also isn’t a one-to-one relationship when it comes to the numbers of elements. There are 100 images per page (per category) and 39 categories in total.
If the second map (link/category) ran as many times as the first map (images) then you would just get the image from the images array inside the second map using its index.
const image = images[i];
return {
link,
cat,
image
};
But this will only give you 39 images.
Can you show what you want the CSV to look like?