Closest Enemy Array Not Working

Im having an issue getting my function to properly find the closest enemy for my homing object to attack and destroy the enemy. No matter what other enemy happens to come into range, the homing object will run straight for the first enemy that spawned, not the one that came into range. Here is my code:

void Update () 
{
this.animation.Play("walk");

if ( m_bNavRequestCompleted )
{
    enemies = GameObject.FindGameObjectsWithTag("enemy"); 

	for(int i = 0; i < enemies.Length; i++)
	{
		if(Vector3.Distance(this.transform.position, enemies*.transform.position) <= closestDistance)*
  •   	{*
    

_ closestDistance = Vector3.Distance(this.transform.position, enemies*.transform.position);_
_ closestTarget = enemies;
}
}_
if( m_navigationAgent.MoveToGameObject(closestTarget, m_replanInterval) )
_ {_
m_bNavRequestCompleted = false;
_ }
}
}*_

If I remember correctly, you cannot for-loop through in an Update directly. Instead write finding the closest target in a method and call it in the Update.