[AS3] removeChild + array.splice lag?

Hi, I am working on a basic game in order to practice my AS3 coding skills. The point I am at is that when my enemies (Falling vertically down) touch the bottom of the stage I want to make all enemies in all of my arrays be removed. Now, the code below works perfect for that description of what I want, but it does not remove everything at the same time. Instead it does not remove all of them at the same time, and it’s very noticable. As in there is about a 3-4 second gap between when the first dissapears and when the last does.

So will I need to completely optimize my entire project, or is that any way I can do this process that is more efficient? Also what are your thought on just changing all of the enemies y coordinates to -100 or something at first, and then removing them while they are off the stage?

Anyway here’s my code:

[AS]
for each (b in enemyShipArray) {
stage.removeChild(b)
enemyShipArray.splice(0, 1)
}
for (var n = 0;n < enemy1Array.length; n++) {
stage.removeChild(enemy1Array[n])
enemy1Array.splice(n, 1)
}
for (var o = 0;o < enemy2Array.length; o++) {
stage.removeChild(enemy2Array[o])
enemy2Array.splice(o, 1)
}
for (var p = 0;p < enemy3Array.length; p++) {
stage.removeChild(enemy3Array[p])
enemy3Array.splice(p, 1)
}
[/AS]