#Using filter()
To remove undefined
values from a JavaScript array, you can simply use the filter()
method like so:
// ES5+
const arr = [1, undefined, 2, 3, undefined, 5];
const filteredArr = arr.filter(function (elem) {
return elem !== undefined;
});
console.log(filteredArr); // output: [1, 2, 3, 5]
Or alternatively, you can use the arrow function syntax (introduced in ES6) for a one-liner like the following:
// ES6+
const arr = [1, undefined, 2, 3, undefined, 5];
const filteredArr = arr.filter((elem) => elem !== undefined);
console.log(filteredArr); // output: [1, 2, 3, 5]
#Using for
Loop
If you're unable to use the latest features of JavaScript, then you can use a for
loop to create a new array with filtered values. For example:
const arr = [1, undefined, 2, 3, undefined, 5];
const filteredArr = [];
for (let i=0; i<arr.length; i++) {
if (arr[i] !== undefined) {
filteredArr.push(arr[i]);
}
}
console.log(filteredArr); // output: [1, 2, 3, 5]
This post was published by Daniyal Hamid. Daniyal currently works as the Head of Engineering in Germany and has 20+ years of experience in software engineering, design and marketing. Please show your love and support by sharing this post.