ui
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
# `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)
|
||||
Reference in New Issue
Block a user