function foo(myMixed)
{
var myArray = [].concat(myMixed);
for(var i = myArray.length; i--; ){
//do your stuff
}
}
Desta forma, você pode fazer chamadas como: foo (‘bar’) ou foo ([‘bar’, ‘baz’]) sem verificar se o parâmetro é ou não um Array e depois convertê-lo. Basta uma única linha de código.
Nota: Eu nunca disse que é eficiente, então não o use para matrizes enormes .
Nota2: Este truque não é meu, eu o encontrei em algum lugar no StackOverflow, mas queria compartilhá-lo.