Devi usare Array.prototype.push.call(arguments, "id"); ( con FF e IE funziona ).
Il fatto è che arguments non è un array ma un oggetto; il fatto che sia molto simile ad un array non vuol dire che sia un array.
Evidentemente il codice (nativo) del metodo push forza la sovrascrittura della length settandola al valore giusto, anche perchè poi la length è il valore che push deve ritornare.
![]()