Skip to content

windowed

주어진 입력 배열에서 지정된 크기의 작은 부분 배열인 윈도우를 생성해요. 윈도우는 주어진 step의 크기에 따라 겹칠 수 있어요.

기본적으로 결과에는 size만큼의 길이를 가지는 완전한 윈도우만 포함돼요. 완전한 윈도우를 이루지 못하는 남은 요소들은 무시돼요.

만약 옵션 객체의 partialWindowstrue로 설정된다면, size 보다 짧은 부분 윈도우도 결괏값에 포함돼요. 부분 윈도우는 입력 배열에 완전한 윈도우를 만들 수 있을 만큼 충분한 요소가 남아 있지 않을 때 생겨요.

인터페이스

typescript
function windowed<T>(arr: T[], size: number, step: number, { partialWindows = false }: WindowedOptions): T[][];

interface WindowedOptions {
  partialWindows?: boolean;
}

파라미터

  • arr (readonly T[]): 윈도우를 생성할 입력 배열.
  • size (number): 각 윈도우의 크기에요. 자연수여야 해요.
  • step (number): 각 윈도우 시작 간의 간격. 자연수여야 해요.
  • options.partialWindows (boolean): 배열 끝에 부분 윈도우를 포함할지 여부.

반환 값

(T[][]): 입력 배열에서 생성된 윈도우(배열) 모음.

예시

typescript
windowed([1, 2, 3, 4], 2);
// => [[1, 2], [2, 3], [3, 4]]

windowed([1, 2, 3, 4, 5, 6], 3, 2);
// => [[1, 2, 3], [3, 4, 5]]

windowed([1, 2, 3, 4, 5, 6], 3, 2, { partialWindows: true });
// => [[1, 2, 3], [3, 4, 5], [5, 6]]

MIT 라이선스에 따라 배포됩니다.