Соедините типизированные массивы
Дан массив из типизированных массивов Uint8Array
. Напишите функцию concat(arrays)
, которая объединяет эти массивы в один типизированный массив и возвращает его.
function
concat
(
arrays
)
{
// находим общую длину переданных массивов
let
totalLength =
arrays.
reduce
(
(
acc,
value
)
=>
acc +
value.
length,
0
)
;
let
result =
new
Uint8Array
(
totalLength)
;
if
(
!
arrays.
length)
return
result;
// копируем каждый из массивов в result
// следующий массив копируется сразу после предыдущего
let
offset =
0
;
for
(
let
array of
arrays)
{
result.
set
(
array,
offset)
;
offset +=
array.
length;
}
return
result;
}