torna alle lezioni

Concatenate TypedArrays

Dato un array di Uint8Array, scrivete una funzione concat(arrays) che ritorna una loro concatenazione in un singolo array.

Apri una sandbox con i test.

function concat(arrays) {
  // somma delle lunghezze dei singoli array
  let totalLength = arrays.reduce((acc, value) => acc + value.length, 0);

  if (!arrays.length) return null;

  let result = new Uint8Array(totalLength);

  // ogni array, lo copiamo in result
  // l'array successivo viene copiato subito dopo quello precedente
  let length = 0;
  for(let array of arrays) {
    result.set(array, length);
    length += array.length;
  }

  return result;
}

Apri la soluzione con i test in una sandbox.