how to instantiate in array consecutive

Transform meatballSlots;
GameObject meatball;

    private void Update()
    {
        foreach (Transform meatballSlot in meatballSlots)
        {
            if (Input.GetKeyDown(KeyCode.Space))
            {
                Instantiate(meatball, meatballSlot);
            }
        }
    }

how can i to instantiate the “meatball” as child of “meatballSlot” consecutive, right now if i press space the “meatball” will instantiate on every “meatbalSlot”, but i need instantiate will consecutive from 0, 1, 2, 3 and then when press each space

I am having trouble understanding the question @WhisperXD But something like this maybe?

   public Transform[] meatballSlots = new Transform[3];
    public GameObject meatball;
    private int Element = 0;

    void Update () 
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            if(Element >= meatballSlots.Length) // we use this so we dont go over in the array my max is 3
            {
                Debug.Log("Reached End of Array");
                return; // Makes Code Stop --> maybe you want to do somthign els if you go over the array limit
            }
            else
            {
                Debug.Log("Childeing meatball to Transform (" + meatballSlots[Element].name+ ")");
                Instantiate(meatball, meatballSlots[Element]);
                Element++;
            }
        }
    }

What is happening here is when you press space you Spawn a meatball into the scene and Child it under the Transform dictated by the Element counter, witch counts up every time you press space.
There is probably a more elegant way of doing this but this is my 2 cents