You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							101 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							101 lines
						
					
					
						
							1.3 KiB
						
					
					
				| # `pluck()`
 | |
| 
 | |
| The pluck method retrieves all of the values for a given key:
 | |
| 
 | |
| ```js
 | |
| const collection = collect([
 | |
|   {
 | |
|     id: 78,
 | |
|     name: 'Aeron',
 | |
|   },
 | |
|   {
 | |
|     id: 79,
 | |
|     name: 'Embody',
 | |
|   },
 | |
| ]);
 | |
| 
 | |
| const plucked = collection.pluck('name');
 | |
| 
 | |
| plucked.all();
 | |
| 
 | |
| // ['Aeron', 'Embody']
 | |
| ```
 | |
| 
 | |
| You may also specify how you wish the resulting collection to be keyed:
 | |
| 
 | |
| ```js
 | |
| const collection = collect([
 | |
|   {
 | |
|     id: 78,
 | |
|     name: 'Aeron',
 | |
|   },
 | |
|   {
 | |
|     id: 79,
 | |
|     name: 'Embody',
 | |
|   },
 | |
| ]);
 | |
| 
 | |
| const plucked = collection.pluck('name', 'id');
 | |
| 
 | |
| plucked.all();
 | |
| 
 | |
| // {
 | |
| //   78: 'Aeron',
 | |
| //   79: 'Embody',
 | |
| // }
 | |
| ```
 | |
| 
 | |
| You can use "dot notation" to access nested values
 | |
| 
 | |
| ```js
 | |
| const collection = collect([
 | |
|   {
 | |
|     name: 'John',
 | |
|     roles: [
 | |
|       {
 | |
|         name: 'Editor',
 | |
|       },
 | |
|       {
 | |
|         name: 'Admin',
 | |
|       },
 | |
|     ],
 | |
|   },
 | |
| ]);
 | |
| 
 | |
| const plucked = collection.pluck('roles.0.name');
 | |
| 
 | |
| plucked.all();
 | |
| 
 | |
| // ['Editor']
 | |
| ```
 | |
| 
 | |
| "Dot notation" supports "wildcard"
 | |
| 
 | |
| ```js
 | |
| const collection = collect([
 | |
|   {
 | |
|     name: 'John',
 | |
|     roles: [
 | |
|       {
 | |
|         name: 'Editor',
 | |
|       },
 | |
|       {
 | |
|         name: 'Admin',
 | |
|       },
 | |
|     ],
 | |
|   },
 | |
| ]);
 | |
| 
 | |
| const plucked = collection.pluck('roles.*.name');
 | |
| 
 | |
| plucked.all();
 | |
| 
 | |
| // [
 | |
| //   [
 | |
| //     'Editor',
 | |
| //     'Admin',
 | |
| //   ],
 | |
| // ]
 | |
| ```
 | |
| 
 | |
| [View source on GitHub](https://github.com/ecrmnn/collect.js/blob/master/src/methods/pluck.js) |