Как сделать функцию дженерик которая примет аргументами любое количество массивов обобщённого типа и соединит их в один?
Как сделать функцию дженерик которая должна, принимать аргументами любое количество массивов обобщённого типа и соединять их в один.
function concat<T>(arg: T[]): T{
}
concat();
// []
concat(['qwerty'], ['asd']);
// ['qwerty', 'asd']
concat([1, 2, 3], [4, 5], [6, 7, 8]);
// [1, 2, 3, 4, 5, 6, 7, 8]
Ответы (1 шт):
Автор решения: Anton Laid
→ Ссылка
function concat<T>(...arr: Iterable<T>[]): T[] {
const res: T[] = [];
for (let i = 0; i < arr.length; ++i) {
res.push(...arr[i]);
}
return res;
}
console.log(concat(["qwerty"], ["asd"])); // ['qwerty', 'asd']
console.log(concat([1, 2, 3], [4, 5], [6, 7, 8])); // [1, 2, 3, 4, 5, 6, 7, 8]