La suppression d'un argument à partir des arguments en JavaScript

Je voulais avoir une option de boolean paramètre à l'appel de la fonction:

function test() {
  if (typeof(arguments[0]) === 'boolean') {
    //do some stuff
  }
  //rest of function
}

Je veux le reste de la fonction pour voir uniquement les arguments tableau sans l'option boolean paramètre. Première chose que j'ai réalisé, c'est l' arguments tableau n'est pas un tableau! Il semble être un standard Object avec les propriétés de 0, 1, 2, etc. Donc, je ne pouvais pas le faire:

function test() {
  if (typeof(arguments[0]) === 'boolean') {
    var optionalParameter = arguments.shift();

J'obtiens une erreur que shift() n'existe pas. Donc, il y a un moyen facile de supprimer un argument depuis le début de l' arguments objet?

Juste une supposition: delete arguments[0]?

OriginalL'auteur at. | 2013-11-11