1.1.0 • Published 12 years ago

mekanika-utils-map v1.1.0

Weekly downloads
2
License
-
Repository
github
Last release
12 years ago

mekanika-utils-map

Functional style map iterator map( fn, collection )

Overview

A standard map iterator for Objects and Arrays:

  • Steps through each element in collection
  • Applies the transform function fn( value )
  • Returns the mutated collection

Main difference is that it flips traditional map parameters around to support currying, for partial application of mutator functions for mapping:

var square = map( function(v) { return v*v; } );
// -> {Function} (partially applied map)
square( [1,2,3] );
// -> [1,4,9]

Installation

Install with npm:

$ npm install mekanika-utils-map

Install with component(1):

$ component install mekanika/utils-map

API

map( mutatorFn, collection );

Requires

Params

  • mutatorFn {Function} Called for each element of collection. Passed:

    • value {Mixed} The value of the current iterator element
    • index _{Number|String} The element index (Number for array, String for Object)
    • collection {Object|Array}
  • collection {Object|Array} The collection of elements to iterate

Returns

  • modifiedCollection {Object|Array} The mutated collection of elements

Usage

For node:

var map = require('mekanika-utils-map');

For use in a browser, first build the file:

$ make component

Then include

<script src="build/mekanika-utils-map.js">

Examples

Arrays and objects:

map( function(v) { return v*v; }, [1,2,3] );
// -> [1,4,9]

map( function(v) { return v+5 }, {a:1, b:2, c:3} );
// -> [6,7,8]

Functional programming partial application:

var square = map( function(v) { return v*v; } );
// -> {Function} (partially applied map)
square( [1,2,3] );
// -> [1,4,9]

License

MIT

1.1.0

12 years ago

1.0.1

12 years ago

1.0.0

12 years ago