in reply to Alternative for push

push (and its brethren pop, shift and unshift) take care of the indices themselves, so you don't have to worry about them.

It is the same as with a for or a while loop: you can write that as a combination of control-variables, if ... then ... else tests and goto statements, but why would you want to do that?

CountZero

A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James