Change player prefab every X seconds -Help!

Hi Devs, i am new to game development.
I want to change my player every X seconds. For that i am destroying the previous prefab and instantiating the new prefab.

 private void Update()
        int Rand = Random.Range(0, objectToSpawn.Length);
        GameObject spawnPrefab = objectToSpawn[Rand];

        timer += Time.deltaTime;
        if (timer >= ChangeInterval)
            Instantiate(spawnPrefab, transform.position, Quaternion.identity);

            timer -= ChangeInterval;


But the prefab is not destroying.
How can i destroy the prefab and instantiate the new prefab on the previous position.
Is it the correct approach for this?