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 } }