How to use the pick function from ramda

Find comprehensive JavaScript ramda.pick code examples handpicked from public code repositorys.

ramda.pick is a function that creates a new object from a source object, including only the specified properties in the new object, allowing you to select only the properties you need.

71
72
73
74
75
76
77
78
79
80
  })
}

// Get values for keys
const visibleKeyIds = visibleKeys.map(prop('id'))
const visibleValues = pick(visibleKeyIds, tags)

const keysToSend = visibleKeys.map((key) => {
  return assoc('value', visibleValues[key.id], key)
})
fork icon4
star icon23
watch icon24

+ 7 other calls in file

20
21
22
23
24
25
26
27
28
29

const updateHeaderWithUser = R.compose(
  R.unnest,
  R.adjust(0, getUserHeader),
  R.values,
  R.pick(['user', 'header'])
);

const coerceToArray = R.cond([
  [R.is(String), v => [v]],
fork icon303
star icon0
watch icon2

+ 3 other calls in file

How does ramda.pick work?

ramda.pick is a function provided by the Ramda library that creates a new object from a source object, including only the specified properties in the new object.

When ramda.pick is called with an array of property names as its first argument and an object as its second argument, it creates a new object that includes only the specified properties from the source object.

If a property in the array does not exist in the source object, it is omitted from the new object. If the source object contains properties that are not included in the array, they are also omitted from the new object.

ramda.pick can be useful for selecting only the properties you need from an object, for example, to simplify an object before sending it over a network or to create a new object that contains only the properties you're interested in.

24
25
26
27
28
29
30
31
32
33
34
35
const buildOtData = userType => JSON.stringify({
  userType
});
const sortByCreatedAt = R.sortWith([R.ascend(R.prop('createdAt'))]);
const filterByStatus = status => R.find(R.propEq('status', status));
const getImages = R.pick(['startImage', 'endImage']);


/** Exports */


/**
fork icon12
star icon5
watch icon0

95
96
97
98
99
100
101
102
103
104

var isNotNil = R.compose(R.not, R.isNil);
var pickTimestamps = R.compose(
  R.filter(isNotNil),
  R.values,
  R.pick(['createdAt', 'modifiedAt', 'mergedAt', 'closedAt'])
);
function convertTimestampToDate(timestamp) {
  return new Date(timestamp);
}
fork icon1
star icon0
watch icon1

Ai Example

1
2
3
4
5
6
7
8
9
10
11
12
const R = require("ramda");

const user = {
  id: 123,
  name: "John Doe",
  email: "john.doe@example.com",
  age: 35,
};

const newUser = R.pick(["id", "name", "email"], user);

console.log(newUser);

In this example, we're using require to load the Ramda library and get a reference to the R.pick function. We're then defining an object called user that contains various properties, including id, name, email, and age. We're using R.pick to create a new object called newUser that includes only the id, name, and email properties from the user object. Finally, we're using console.log to output the newUser object. When we run this code, we'll get the following output: bash Copy code

45
46
47
48
49
50
51
52
53
54
55
56
)


// fromObject :: Object -> Link
const fromObject = R.compose(
  concat(defaults),
  R.pick(R.keys(defaults))
)


// fromString :: String -> Link
const fromString = R.compose(
fork icon0
star icon4
watch icon0

28
29
30
31
32
33
34
35
36
37
38
39
    .whereIn('productId', ids)
    .select('productId')
    .select(options.fields || '*')


  return query.then(rows =>
    ids.map(id => rows.filter(row => row.productId === id).map(row => pick(options.fields, row))),
  )
}


module.exports.getProductsByStoresIds = (ids, options = {}) => {
fork icon2
star icon1
watch icon0

+ 3 other calls in file

298
299
300
301
302
303
304
305
306
307

var newMessages = R.mapObjIndexed(function (message, key) {
  return _objectSpread({
    translation: _this.config.sourceLocale === locale ? message.message || key : ""
  }, message);
}, R.pick(newKeys, nextCatalog)); // Merge translations from previous catalog

var mergedMessages = mergeKeys.map(function (key) {
  var updateFromDefaults = _this.config.sourceLocale === locale && (prevCatalog[key].translation === prevCatalog[key].message || options.overwrite);
  var translation = updateFromDefaults ? nextCatalog[key].message : prevCatalog[key].translation;
fork icon1
star icon0
watch icon0

383
384
385
386
387
388
389
390
391
392
      offerID = _ref24.offerID,
      stars = _ref24.stars;
  return {
    hotelID: id,
    offerID: offerID,
    position: R.pick(['lat', 'lng'], location),
    stars: stars,
    zoom: location.zoom
  };
}, R.always(null))), prices));
fork icon0
star icon3
watch icon0

+ 41 other calls in file

1
2
3
4
5
6
7
8
9
10
11
12
13


const obj = {
    a : 1, b : 2, c : 3, d : 4
}


const pick = R.pick(['a', 'd']); //=> {a: 1, d: 4}
console.log('pick', pick(obj));


const pick2 = R.pick(['a', 'e', 'f']); //=> {a: 1}
console.log('pick2', pick2(obj));  // if not present, it returns nothing
fork icon0
star icon1
watch icon1

+ 263 other calls in file

204
205
206
207
208
209
210
211
212
213
let tags = prop('tags', currentProfile)

// Pick tags that are still in the database
const tagsInDB = await conn('profile_keys').select('id').whereIn('id', keys(tags))

tags = pick(map(prop('id'), tagsInDB), tags)

// Add the attribute values
attributeValues.forEach(tagPair => {
  if (tagPair.key_id) {
fork icon0
star icon1
watch icon0

11
12
13
14
15
16
17
18
19
20
[activePageSelector, selectedActionsIdsSelector],
(activePage, selectedActionsId) => {
  const objects = { ...activePage.objects };
  let lines = [];
  if (selectedActionsId.length) {
    let selectedObject = pick(selectedActionsId, objects);
    const selectedOjectKey = pipe(
      keys,
      head
    )(selectedObject);
fork icon0
star icon0
watch icon4

+ 8 other calls in file

11210
11211
11212
11213
11214
11215
11216
11217
11218
11219
11220
11221
 * @return {Object} A new object with only properties from `names` on it.
 * @see R.omit, R.props
 * @example
 *
 *      R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}
 *      R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}
 */




var pick =
fork icon0
star icon0
watch icon2

+ 15 other calls in file

3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
 * @param {Object} obj The object to copy from
 * @return {Object} A new object with only properties from `names` on it.
 * @see R.omit, R.props
 * @example
 *
 *      R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}
 *      R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}
 */
var pick = _curry2(function pick(names, obj) {
    var result = {};
fork icon0
star icon0
watch icon0

+ 75 other calls in file

24
25
26
27
28
29
30
31
32
33
34
35
  'X-API-VERSION': '2020-05-04',
  'Content-Type': 'application/json',
});




const axiosSafeRequest = R.pick(['headers', 'method', 'url', 'data']);
const axiosSafeResponse = response => {
  const retVal = R.pick(['data', 'status', 'statusText', 'headers', 'request'], response);
  retVal.request = axiosSafeRequest(retVal.request);
  return retVal;
fork icon0
star icon0
watch icon0

67
68
69
70
71
72
73
74
75
76
77
  if (R.isNil(x)) return false;
  const num = new Decimal(x);
  return num.isPositive(0);
};


const rounding = R.pick([
  'ROUND_UP',
  'ROUND_DOWN',
  'ROUND_CEIL',
  'ROUND_FLOOR',
fork icon0
star icon0
watch icon0

4
5
6
7
8
9
10
11
12
13
14
}


const makeError = (reason) => new Error(`${reason}`)
const toError = when(complement(is(Error)), makeError)
const descriptionOrMessage = either(
    pick(['message', 'errors', 'data']),
    path(['props', 'description'])
)
const conditionOf = pathOr('', ['props', 'condition'])
const statusOf = propOr(500, 'code')
fork icon0
star icon0
watch icon0

109
110
111
112
113
114
115
116
117
  recordToRedirection,
  print(({ name }) => `Adding redirection for ${name}`),
));
const removeRedirection = lazyTask(R.compose(
  cpanel.redirection.remove,
  R.pick(['domain']),
  recordToRedirection,
  print(({ name }) => `Deleting redirection for ${name}`),
));
fork icon0
star icon0
watch icon0

Other functions in ramda

Sorted by popularity

function icon

ramda.clone is the most popular function in ramda (30311 examples)