mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-01-29 06:27:49 +00:00
adding a reduceRight (it's in JS 1.8), and aliasing foldl and foldr
This commit is contained in:
@@ -47,10 +47,19 @@ $(document).ready(function() {
|
||||
var sum = _.reduce([1, 2, 3], 0, function(sum, num){ return sum + num; });
|
||||
equals(sum, 6, 'can sum up an array');
|
||||
|
||||
var context = {multiplier : 3};
|
||||
sum = _.reduce([1, 2, 3], 0, function(sum, num){ return sum + num * this.multiplier; }, context);
|
||||
equals(sum, 18, 'can reduce with a context object');
|
||||
|
||||
sum = _.inject([1, 2, 3], 0, function(sum, num){ return sum + num; });
|
||||
equals(sum, 6, 'aliased as "inject"');
|
||||
});
|
||||
|
||||
test('collections: reduceRight', function() {
|
||||
var list = _.foldr([1, 2, 3], '', function(memo, num){ return memo + num; });
|
||||
equals(list, '321', 'can perform right folds');
|
||||
});
|
||||
|
||||
test('collections: detect', function() {
|
||||
var result = _.detect([1, 2, 3], function(num){ return num * 2 == 4; });
|
||||
equals(result, 2, 'found the first "2" and broke the loop');
|
||||
|
||||
Reference in New Issue
Block a user