0.3.1 • Published 8 years ago
propprop v0.3.1
propprop
pluck a property out of an object.
Before
var friendsAsJavaScriptLibraries = [
{
name: 'passy.js',
hobby: 'clay'
},
{
name: 'sindre.js',
vehicle: 'unicorn taxi'
},
{
name: 'addy.js',
invented: 'google *'
}
];
var names = friendsAsJavaScriptLibraries.map(function (item) {
return item.name;
});
After
var friendsAsJavaScriptLibraries = [ /* ... */ ];
var names = friendsAsJavaScriptLibraries.map(prop('name'));
The benefit is more noticeable when you're using multiple Array.prototype methods to shape your objects:
var friendsAsJavaScriptLibraries = [ /* ... */ ];
var urls;
if (friendsAsJavaScriptLibraries.every(prop('name'))) {
urls = friendsAsJavaScriptLibraries
.map(function (item) {
item.url = 'https://github.com/magical-library-land/' + item.name;
return item;
})
.map(prop('url'));
}
Why?
Perhaps you're already using Lo-Dash, Underscore.js, or another utility library. This should not supplement those libraries, and definitely cannot replace. This is better suited towards applications that don't want to carry the weight and/or functionality of such libraries, and just want something simple and modular.
Install
prop
can be used in the browser or within your Node.js apps.
Browser
$ bower install --save propprop
<script src="bower_components/propprop/browser.js"></script>
Node.js
$ npm install --save propprop
var prop = require('propprop');