La aparición de la sentencia
return, ocasiona que se termine la ejecución de la función, aún cuando se esté iterando un valor. Primero ejecuta el bucle completo y luego devuelve el array.
Aquí puedes leer más información acerca del uso de la sentencia
return.
Saludos