That's not a bad idea, but there's a catch - if any objects are visible, and thus added to the array, the array should be emptied before the next check.
The system is organized like this: enemy objects spawn outside the screen (not visible) and have their stuff activated when visible and despawn when not visible again. The thing is, it's an endless wave system, and the check if objects with tags are visible should kick in after a set amount of time, after which the check would have to be done again after few seconds, until the empty array detected starts a custom event, so the array should be emptied before every next check.