Print out times tables from 1 to 10 with array
//Define global array, is this needed? Makes no difference for my output in serial monitor.
//int number[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};


This is not needed, you can use a for lop from 1 to 10.

The void loop will look like this (not checked, no IDE nearby):

void loop() 
{
  for (int multiplier = 1; multiplier &lt;= 3; multiplier++)
  {
      for(int i = 0; i &lt;= 9; i++)
      {
         prod = i * multiplier + multiplier; 
         // or: prod = (i + 1) * multiplier;
         Serial.print(prod);
         Serial.print(",  ");
      }

      Serial.println();
      Serial.println();
      delay(3000);
  }
}


Some remarks:


To go to the main for loop (with multiplier):


Identify the similar parts
Check the differences within each similar part (only the multiplier value, 1, 2 or 3)
Make this a for loop and instead of 1, 2, 3 use the multiplier variable
Instead if i = i + 1 you can use i++. It means exactly the same.
For clearity I put the Serial.println() together. You also can use Serial.print('\r\n\r\n') or Serial.println('\r\n') to achieve the same