Generate a keyed map from a list
$ npm install @f/index
Use it to figure out what was created/removed from lists, or to test membership, etc.., e.g.
var index = require('@f/index')
var reduce = require('@f/reduce')
function removedItems (cur, prev) {
var map = index(getKey, cur)
return reduce(function (removed, item) {
if (!map[getKey(item)]) removed.push(item)
return removed
}, [], prev)
}
keyFn
- Optional. Defaults to identity. A function that takes an item oflist
and returns akey
appropriate for use in an object map.itemFn
- Optional. If two arguments are passed,list
is the second argument. Transforms the value in the indexed map.list
- The list of things you want to index
Returns: An indexed map of the items in list
to their corresponding key
as returned by fn(item)
.
MIT