Removing undefined values from Array Removing undefined values from Array arrays arrays

Removing undefined values from Array


To use Array.prototype.filter here might be obvious. So to remove only undefined values we could call

var data = [42, 21, undefined, 50, 40, undefined, 9];data = data.filter(function( element ) {   return element !== undefined;});

If we want to filter out all the falsy values (such as 0 or null) we can use return !!element; instead.

But we can do it slighty more elegant, by just passing the Boolean constructor function, respectively the Number constructor function to .filter:

data = data.filter( Number );

That would do the job in this instance, to generally remove any falsy value, we would call

data = data.filter( Boolean );

Since the Boolean() constructor returns true on truthy values and false on any falsy value, this is a very neat option.


Inline using lambda

result.filter(item => item);


You can use lodash compact method, which removes null, undefined and ''

_.compact(data)