I have a javascript object like the one below with several fields and arrays and arrays within arrays. I'm only interested only in non-junk fields and wanted to remove all the junk properties from the objects. How can I do that using lodash?
I can do that by using delete
, but I don't want to do that because that list is huge and I don't want to keep changing my code to write a delete every time a new junk property is added to my object.
{
state: 'New York',
country: 'usa',
counties : [['washington','DC'],'Long Island',['New','Jersey']],
city : 'Manhattan',
zip: '43543545',
JunkOne : ['3453454','45345','45345'],
JunkTwo: '5454545',
JunkThree: {adc:'4545',vdfd:'45345'}
}
You can use lodash.pick()
to create an object with only the requested keys. For example:
var city = {
state: 'New York',
country: 'usa',
counties : [['washington','DC'],'Long Island',['New','Jersey']],
city : 'Manhattan',
zip: '43543545',
JunkOne : ['3453454','45345','45345'],
JunkTwo: '5454545',
JunkThree: {adc:'4545',vdfd:'45345'}
}
var lodash = require('lodash');
city = lodash.pick(city, ['state', 'country', 'counties','city','zip']);
City now should have all the useful data, and none of the junk.