eris-keys
Version:
a JavaScript client library for eris-keys
29 lines (26 loc) • 833 B
JavaScript
var _curry2 = require('./internal/_curry2');
var map = require('./map');
var prop = require('./prop');
/**
* Returns a new list by plucking the same named property off all objects in
* the list supplied.
*
* @func
* @memberOf R
* @since v0.1.0
* @category List
* @sig k -> [{k: v}] -> [v]
* @param {Number|String} key The key name to pluck off of each object.
* @param {Array} list The array to consider.
* @return {Array} The list of values for the given key.
* @see R.props
* @example
*
* R.pluck('a')([{a: 1}, {a: 2}]); //=> [1, 2]
* R.pluck(0)([[1, 2], [3, 4]]); //=> [1, 3]
* @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]
* @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]
*/
module.exports = _curry2(function pluck(p, list) {
return map(prop(p), list);
});