Files
30-seconds-of-code/snippets/pick.md
2017-12-14 01:34:24 +02:00

379 B

Pick

Use Array.reduce() to convert the filtered/picked keys back to a object with the corresponding key:value pair if the key exist in the obj.

const pick = (obj, arr) =>
  arr.reduce((acc, curr) => (curr in obj && (acc[curr] = obj[curr]), acc), {});
// pick({ 'a': 1, 'b': '2', 'c': 3 }, ['a', 'c']) -> { 'a': 1, 'c': 3 }
// pick(object, ['a', 'c'])['a'] -> 1