Skip to content

Instantly share code, notes, and snippets.

@hectorromo
Created December 3, 2019 18:13
Show Gist options
  • Select an option

  • Save hectorromo/e0de8f49d528078dc77d3986fb8b0bfd to your computer and use it in GitHub Desktop.

Select an option

Save hectorromo/e0de8f49d528078dc77d3986fb8b0bfd to your computer and use it in GitHub Desktop.

Revisions

  1. hectorromo created this gist Dec 3, 2019.
    11 changes: 11 additions & 0 deletions pick-reject.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    function reject(obj, keys) {
    return Object.keys(obj)
    .filter(k => !keys.includes(k))
    .map(k => Object.assign({}, {[k]: obj[k]}))
    .reduce((res, o) => Object.assign(res, o), {});
    }

    function pick(obj, keys) {
    return keys.map(k => k in obj ? {[k]: obj[k]} : {})
    .reduce((res, o) => Object.assign(res, o), {});
    }