keyBy source npm
_.keyBy(collection, [iteratee=_.identity])
Creates an object composed of keys generated from the results of running
each element of collection
through iteratee
. The corresponding value
of each key is the last element responsible for generating the key. The
iteratee is invoked with one argument: (value).
Arguments
- collection (Array|Object)
The collection to iterate over.
- [iteratee=_.identity] (Function|Object|string)
The function invoked per element.
Returns (Object)
Returns the composed aggregate object.
Example
var keyData = [
{ 'dir': 'left', 'code': 97 },
{ 'dir': 'right', 'code': 100 }
];
_.keyBy(keyData, 'dir');
// => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }
_.keyBy(keyData, function(o) {
return String.fromCharCode(o.code);
});
// => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }