Push
Challenge
Implement the generic version of Array.push
For example:
type Result = Push<[1, 2], "3">; // [1, 2, '3']
Solution
Zur Lösung müssen wir wieder den Spread-Operator nutzen, um ein neues Array zu erstellen, das das übergebene Array sowie das Element zusammenführt.
Hierzu können wir Variadic tuple types nutzen. Hierfür muss der generische Parameter / Argument wieder mit einer Bedingung versehen werden, in diesem Fall, dass
T ein Array-Typ sein soll.
type Push<T extends unknown[], U> = [...T, U];
References
(Variadic Tuple Types)[https://www.typescriptlang.org/docs/handbook/release-notes/typescript-4-0.html]