# `keyBy()` The keyBy method keys the collection by the given key. If multiple items have the same key, only the last one will appear in the new collection: ```js const collection = collect([ { product: 'Chair', manufacturer: 'IKEA', }, { product: 'Desk', manufacturer: 'IKEA', }, { product: 'Chair', manufacturer: 'Herman Miller', }, ]); const keyed = collection.keyBy('manufacturer'); keyed.all(); // { // IKEA: { // product: 'Desk', // manufacturer: 'IKEA', // }, // 'Herman Miller': { // product: 'Chair', // manufacturer: 'Herman Miller', // }, // } ``` You may also pass a callback to the method. The callback should return the value to key the collection by: ```js const upperCased = collection.keyBy(item => item.manufacturer.toUpperCase()); upperCased.all(); // { // IKEA: { // product: 'Desk', // manufacturer: 'IKEA', // }, // 'HERMAN MILLER': { // product: 'Chair', // manufacturer: 'Herman Miller', // }, // } ``` [View source on GitHub](https://github.com/ecrmnn/collect.js/blob/master/src/methods/keyBy.js)