Skip to content

Instantly share code, notes, and snippets.

View Aryaman1706's full-sized avatar

Aryaman Grover Aryaman1706

View GitHub Profile
@Aryaman1706
Aryaman1706 / removeUndefined.ts
Last active January 27, 2022 20:21
TypeScript: RemoveUndefined Type
type RemoveUndefined<T extends any[]> =
T extends (infer R | undefined)[]
? R[]
: T
// OK
type ArrayWithoutUndefined1 = RemoveUndefined<(string | number | undefined | Date)[]>
type ArrayWithoutUndefined2 = RemoveUndefined<(string | number | Date)[]>
type ArrayWithoutUndefined3 = RemoveUndefined<["hello", 1, 2, undefined, Date, {}]> // order is not maintained
type ArrayWithoutUndefined4 = RemoveUndefined<["hello", 1, 2, Date, {}]> // order is not maintained
// const arr: number[] = [1, 3, 2, 5, 0];
const findProductOfArr = (arr: number[]): number => {
let product: number = 1;
arr.forEach(num => {
if(num !== 0) product = product * num;
});
return product;