@ndhoule/foldl

Apply a function to each value in a collection, accumulating the results into a single return value.

Usage no npm install needed!

<script type="module">
  import ndhouleFoldl from 'https://cdn.skypack.dev/@ndhoule/foldl';
</script>

README

foldl CI

Apply a function to each value in a collection, accumulating the results into a single return value.

Installation

$ component install ndhoule/foldl
$ npm install @ndhoule/foldl

API

reduce(iterator : Function, accumulator : *, collection : Array|Object)

Reduces all the values in a collection down into a single value. Does so by iterating through the collection from left to right, repeatedly calling an iterator function and passing to it four arguments: (accumulator, value, index, collection).

foldl(function(total, n) {
  return total + n;
}, 0, [1, 2, 3]);
//=> 6

var phonebook = { bob: '555-111-2345', tim: '655-222-6789', sheila: '655-333-1298' };

foldl(function(results, phoneNumber) {
 if (phoneNumber[0] === '6') {
   return results.concat(phoneNumber);
 }
 return results;
}, [], phonebook);
// => ['655-222-6789', '655-333-1298']

License

Released under the MIT license.