Skip to content

windowed (함수형 프로그래밍)

배열에서 슬라이딩 윈도우를 반환하는 함수를 만들어요. 함수형 프로그래밍의 pipe 와 같이 사용해요.

typescript
const result = pipe(array, windowed(size, step, options));

INFO

파이프라인으로 조합하지 않는 일반 코드에서는 원래 es-toolkit의 windowed를 쓰는 것이 좋아요. pipe로 변환을 이어 붙일 때 이 fp 버전을 사용하세요.

사용법

windowed는 길이가 size인 하위 배열을 반환하고, 매번 step만큼 앞으로 이동해요. 전체 윈도우만 반환하는 형태는 pipe 안에서 지연 평가가 가능해요.

typescript
import { pipe, windowed } from 'es-toolkit/fp';

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

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

파라미터

  • size (number): 각 윈도우의 길이예요.
  • step (number, optional): 윈도우 사이에서 이동할 칸 수예요. 기본값은 1이에요.
  • options (WindowedOptions, optional): 끝의 부분 윈도우를 포함할지 같은 옵션이에요.

반환 값

((array: readonly T[]) => T[][]): readonly T[]를 슬라이딩 윈도우 배열로 변환하는 함수예요.

에러

sizestep이 양의 정수가 아니면 에러를 던져요.

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