レッスンに戻る

型の配列を連結する

Uint8Arrayの配列が与えられた場合、それらの連鎖を単一配列に連結する関 数concat(arrays)を作成します。

テスト付きのサンドボックスを開きます。

function concat(arrays) {
  // sum of individual array lengths
  let totalLength = arrays.reduce((acc, value) => acc + value.length, 0);

  let result = new Uint8Array(totalLength);

  if (!arrays.length) return result;

  // for each array - copy it over result
  // next array is copied right after the previous one
  let length = 0;
  for(let array of arrays) {
    result.set(array, length);
    length += array.length;
  }

  return result;
}

サンドボックスでテスト付きのソリューションを開きます。