Topic Description

Create a compact utility function that removes falsy values (false, null, 0, empty string, undefined, and NaN) from an input array and returns a new array containing only truthy values.

const originalArray1 = [0, 1, false, 2, '', 3, 'hello'];
const compactedArray1 = compact(originalArray1);
console.log(compactedArray1); // Output: [1, 2, 3, 'hello']

const originalArray2 = [null, undefined, NaN, ' '];
const compactedArray2 = compact(originalArray2);
console.log(compactedArray2); // Output: [' ']

const originalArray3 = [{ name: 'Alice' }, null, { age: 30 }, undefined];
const compactedArray3 = compact(originalArray3);
console.log(compactedArray3); // Output: [{ name: 'Alice' }, { age: 30 }]

Answer

function compact(arr){
	return arr.filter((item)=>{return !!item})
}
function compact(arr){
	const resultArr = []
	for(item of arr){
		if(!!item){
			resultArr.push(item)
		}
	}
	return resultArr
}