destroy and instantiate player prefab

Hi Devs, i am new to game development
In my game i want to change player prefab every X seconds.

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;
        }
        Destroy(gameObject);


    }

My prefab is instantiating but unable to destroy the previously spawned player’s prefab.