JavaScript version
const clone = (arr) => arr.slice(0);
const clone = (arr) => [...arr];
const clone = (arr) => Array.from(arr);
const clone = (arr) => arr.map((x) => x);
const clone = (arr) => JSON.parse(JSON.stringify(arr));
const clone = (arr) => arr.concat([]);
TypeScript version
const clone = <T,_>(arr: T[]): T[] => arr.slice(0);
const clone = <T,_>(arr: T[]): T[] => [...arr];
const clone = <T,_>(arr: T[]): T[] => Array.from(arr);
const clone = <T,_>(arr: T[]): T[] => arr.map((x) => x);
const clone = <T,_>(arr: T[]): T[] => JSON.parse(JSON.stringify(arr));
const clone = <T,_>(arr: T[]): T[] => arr.concat([]);