Removes empty objects, arrays, empty strings, null and undefined values from objects. Does not alter the original object.
As of version 3.0.0, clean-deep traverses arrays as well as objects.
Install the package via npm
:
$ npm install clean-deep --save
object
(Object): The source object.[options]
(Object): An optional object with the following options:
Option | Default value | Description |
---|---|---|
cleanKeys | [] | Remove specific keys, ie: ['foo', 'bar', ' '] |
cleanValues | [] | Remove specific values, ie: ['foo', 'bar', ' '] |
emptyArrays | true | Remove empty arrays, ie: [] |
emptyObjects | true | Remove empty objects, ie: {} |
emptyStrings | true | Remove empty strings, ie: '' |
emptyStringsReplace | null | Replace empty strings with other value, ie: replace '' with 'myvalue' |
nullValues | true | Remove null values, ie: null |
undefinedValues | true | Remove undefined values, ie: undefined |
(Object): Returns the cleansed object.
const cleanDeep = require('clean-deep');
const object = {
bar: {},
baz: null,
biz: 'baz',
foo: '',
net: [],
nit: undefined,
qux: {
baz: 'boz',
txi: ''
}
};
cleanDeep(object);
// => { biz: 'baz', qux: { baz: 'boz' } }
$ npm test
npm version [<newversion> | major | minor | patch] -m "Release %s"
MIT