Remove undefined properties and empty arrays from an object
npm install remove-undefined-objects 

``sh`
npm install --save remove-undefined-objects
`js
import removeUndefinedObjects from 'remove-undefined-objects';
console.log(removeUndefinedObjects({ key: [], key2: 123 }));
// { key2: 123 }
`
Any items with the following value will be removed by default:
- Empty object, {}[]
- Empty array, undefined
- Undefined,
The following items will NOT be removed:
- Empty string, ''null
- Null,
Optional boolean.
If provided, empty arrays [] will not get removed
`js
import removeUndefinedObjects from 'remove-undefined-objects';
console.log(removeUndefinedObjects({ key1: [], key2: [undefined], nested: { key3: 'a', key4: [] } }));
// { nested: { key3: 'a' } }
console.log(
removeUndefinedObjects(
{ key1: [], key2: [undefined], nested: { key3: 'a', key4: [] } },
{ preserveEmptyArray: true },
),
);
// { key1: [], key2: [], nested: { key3: 'a', key4: [] } }
`
Optional boolean.
If provided, null values in arrays will be preserved instead of being removed.
`js
import removeUndefinedObjects from 'remove-undefined-objects';
console.log(removeUndefinedObjects({ key1: [null, undefined], key2: 123, key3: null }));
// { key2: 123, key3: null }
console.log(
removeUndefinedObjects({ key1: [null, undefined], key2: 123, key3: null }, { preserveNullishArrays: true }),
);
// { key1: [null], key2: 123, key3: null }
`
Optional boolean.
If provided, the empty string '' and null will be removed as well.
`js
import removeUndefinedObjects from 'remove-undefined-objects';
console.log(removeUndefinedObjects({ key1: null, key2: 123, key3: '' }, { removeAllFalsy: true }));
// { key2: 123 }
``