Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 12x 1x 11x 1x 10x 10x 10x 10x 10x 12x 5x 5x 2x 2x 2x 10x 2x 2x 8x | function arraysEqual(oldArray: unknown[], newArray: unknown[]): boolean {
  if (oldArray === newArray) {
    return true;
  }
  if (
    oldArray === null ||
    newArray === null ||
    oldArray.length !== newArray.length
  ) {
    return false;
  }
 
  const _oldArray = [...oldArray];
  const _newArray = [...newArray];
 
  _oldArray.sort();
  _newArray.sort();
 
  for (let i = 0; i < _oldArray.length; i++) {
    if (JSON.stringify(_oldArray[i]) !== JSON.stringify(_newArray[i])) {
      return false;
    }
  }
 
  return true;
}
 
function arrayChunk<T>(arr: T[], chunkSize: number): T[][] {
  const chunks: T[][] = [];
  const arrCopy = arr.slice(0);
 
  for (let i = 0, ii = arrCopy.length; i < ii; i += chunkSize) {
    chunks.push(arrCopy.splice(0, chunkSize));
  }
 
  return chunks;
}
 
function arraysMerge(arr1: unknown[], arr2: unknown[]): unknown[] {
  const arr3 = [...arr1, ...arr2];
 
  return arr3.filter((item, i) => arr3.indexOf(item) === i);
}
 
export { arraysEqual, arrayChunk, arraysMerge };
  |