Speed up flattenArguments()
This commit is contained in:
parent
35f1720b08
commit
9e8559b4be
1 changed files with 7 additions and 9 deletions
|
@ -1435,28 +1435,26 @@ Components.utils.import("resource://gre/modules/Services.jsm");
|
|||
* values and/or an arbitrary number of individual values
|
||||
*/
|
||||
function flattenArguments(args){
|
||||
var isArguments = args.callee && args.length;
|
||||
|
||||
// Put passed scalar values into an array
|
||||
if (args === null || (args.constructor.name != 'Array' && !isArguments)) {
|
||||
if (args === null || typeof args == 'string' || typeof args.length == 'undefined') {
|
||||
args = [args];
|
||||
}
|
||||
|
||||
var returns = [];
|
||||
for (var i=0; i<args.length; i++){
|
||||
if (!args[i] && args[i] !== 0) {
|
||||
var arg = args[i];
|
||||
if (!arg && arg !== 0) {
|
||||
continue;
|
||||
}
|
||||
if (args[i].constructor.name == 'Array') {
|
||||
for (var j=0; j<args[i].length; j++){
|
||||
returns.push(args[i][j]);
|
||||
if (Array.isArray(arg)) {
|
||||
for (var j=0; j<arg.length; j++){
|
||||
returns.push(arg[j]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
returns.push(args[i]);
|
||||
returns.push(arg);
|
||||
}
|
||||
}
|
||||
|
||||
return returns;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue