Changed reduceRight to avoid unnecessarily cloning an array.

`toArray` returns the first argument unmodified if it passes `isArray`.
So if `obj` passes `isArray`, call `slice` on it directly, otherwise use `toArray`.
This commit is contained in:
Ryan W Tenney
2010-10-05 21:22:37 -04:00
parent 2aec074aca
commit 2dc203332b

View File

@@ -110,7 +110,7 @@
if (context) iterator = _.bind(iterator, context);
return obj.reduceRight(iterator, memo);
}
var reversed = _.clone(_.toArray(obj)).reverse();
var reversed = (_.isArray(obj) ? obj.slice() : _.toArray(obj)).reverse();
return _.reduce(reversed, iterator, memo, context);
};