# pick > Return a partial object copy containing only specified keys.
## Usage ```javascript var pick = require( '@stdlib/utils/pick' ); ``` #### pick( obj, keys ) Returns a partial copy of an `object`. The returned `object` contains only specified `keys`. ```javascript var obj1 = { 'a': 1, 'b': 2, 'c': 3 }; var obj2 = pick( obj1, 'b' ); // returns { 'b': 2 } var obj3 = pick( obj1, [ 'b', 'c' ] ); // returns { 'b': 2, 'c': 3 } ``` If a key does not exist as an **own** property in a source `object`, the key is ignored. ```javascript var obj1 = { 'a': 1, 'b': 2, 'c': 3 }; var obj2 = pick( obj1, 'd' ); // returns {} ```
## Notes - The function returns a **shallow** copy. - The function **only** copies **own** properties. Hence, the function never copies inherited properties.
## Examples ```javascript var pick = require( '@stdlib/utils/pick' ); var obj1 = { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 }; var obj2 = pick( obj1, [ 'b', 'c', 'e' ] ); // returns { 'b': 2, 'c': 3, 'e': 5 } ```