Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Copy all but one field with Lodash, without using Object.assign()

If I have an object like so:

const obj  = { A: 1, B: 2, C: 3, D: 4 };

How can I copy all key/values except for C to a new object?

Underscore has the _.pick() functionality, but I am looking to do the opposite.

like image 386
Alexander Mills Avatar asked Jun 06 '17 16:06

Alexander Mills


2 Answers

You can achieve this with the omit method : https://lodash.com/docs/4.17.4#omit

like image 124
Bibzer Avatar answered Sep 21 '22 23:09

Bibzer


You can do this with the ES object rest/spread proposal. Since it's a stage 4 proposal, and not supported by all browser, you might need to transpile the code using babel with the Object rest spread transform.

const obj  = { A: 1, B: 2, C: 3, D: 4 };

const { C, ...objWithoutC } = obj;

console.log(objWithoutC);
like image 31
Ori Drori Avatar answered Sep 24 '22 23:09

Ori Drori