Always keep only one game object with tag

I Instantiate multiple game object, but I would like to keep only one. Is there some easy way to check for all game object with tags and destroy all except one ?

GameObject[] PresentCanvases = GameObject.FindGameObjectsWithTag("DetailsWindowCanvas");
        foreach (var q in PresentCanvases)
        { //destroy all, keep one
}

Loop over the array with a simple for loop, but start the index at 1 instead of 0.

GameObject PresentCanvases = GameObject.FindGameObjectsWithTag(“DetailsWindowCanvas”);
for(int i = 1; i < PresentCanvases.Length; i++)
{
Destroy(PresentCanvases*);*
}